2 Punkte von GN⁺ 2026-01-28 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Der SSH-Client JuiceSSH für Android erkennt ab Dezember 2025 die Zahlungen bestehender Käufer nicht mehr
  • Bei Nutzern, die 2019 gekauft haben, wurde die Lizenz ungültig, der Preis wurde um 20 US-Dollar erhöht, und einige Nutzer berichten, dass die Aktivierung selbst nach einem erneuten Kauf nicht funktioniert
  • Da das Support-Team nicht antwortet, betrachten Nutzer dies faktisch als einen „Exit Scam“
  • Der Beitrag zeigt Schritt für Schritt, wie man mit ApkTool, jadx, jarsigner usw. die App dekompiliert und den smali-Code anpasst, um die Pro-Funktionen wiederherzustellen
  • Cloud-Sync und Plugins funktionieren nicht mehr, aber es wird als Methode vorgestellt, die Pro-Funktionen wieder nutzen zu können

Die Problemlage bei JuiceSSH

  • JuiceSSH ist ein SSH-Client für Android, den der Autor bis Dezember 2025 für die beste App ihrer Art hielt
  • Die 2019 gekaufte Pro-Version-Lizenz wird nicht mehr erkannt, der Preis ist um 20 US-Dollar gestiegen
  • Einige Nutzer schreiben in Rezensionen, dass die App selbst nach einem erneuten Kauf nicht aktiviert wird
  • Bei Google Play wurde die App aus der Liste entfernt, und das Support-Team antwortet nicht
  • Der Autor bezeichnet diese Situation als Exit Scam

Vorbereitung zur Wiederherstellung der App

  • Um die App wieder zum Laufen zu bringen, werden Tools wie jadx, ApkTool und jarsigner (mit OpenJDK) benötigt
    • Unter Windows kann dies mit choco install openjdk installiert werden
  • Die JuiceSSH-APK kann von PureAPK heruntergeladen oder mit adb direkt extrahiert werden
  • Beim Download ist eine Prüfung des SHA256-Hashs erforderlich
    • Der Hash der letzten Version (3.2.2) lautet d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232

Schritte zur Dekompilierung

  • Mit ApkTool wird der DEX-Code der APK dekompiliert
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
    

Änderung des smali-Codes

  • Drei smali-Dateien müssen geändert werden

1. smali/com/sonelli/juicessh/models/User.smali

  • Die Funktion public boolean H() führt die Kauf- und Signaturprüfung durch
  • Die ursprüngliche Prüf-Logik wird entfernt und so geändert, dass immer true zurückgegeben wird
    public boolean H() {
        return true;
    }
    

2. smali/com/sonelli/oi0.smali

  • Die Funktion public static boolean d(Object obj) ruft das oben genannte H() auf, um die Gültigkeit des Kaufs zu prüfen
  • Dies wird so geändert, dass immer true zurückgegeben wird
    public static boolean d(Object obj) {
        return obj.getClass().getName().equals(User.class.getName());
    }
    

3. smali/com/sonelli/pi0.smali

  • Die Funktion public static void j(Context context, p pVar) ist der Kernteil der Authentifizierung der Pro-Funktionen
  • Ursprünglich validiert sie die Benutzersitzung und führt bei Ablauf eine erneute Authentifizierung durch
  • In der geänderten Version wird ein gefälschtes Benutzerobjekt erzeugt, der Sitzungsablauf auf ein Jahr in der Zukunft gesetzt und anschließend immer der Erfolgs-Callback aufgerufen
    public static void j(Context context, p pVar) {
        User user = new User();
        user.email = "myemail@google.com";
        user.name = "hello";
        user.given_name = "hello";
        user.sessionExpires = System.currentTimeMillis() + (86400000 * 365);
        user.sessionIdentifier = "";
        b = user;
        pVar.b(user);
    }
    

Neukompilierung und Signierung

  • Nach den Änderungen wird die APK erneut gebaut
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh
    
  • Die erzeugte Datei befindet sich unter juicessh\dist\juicessh.apk
  • Erstellen eines Keystores zur Selbstsignierung und Signieren der APK
    keytool -genkey -v -keystore k.keystore -alias a -keyalg RSA -keysize 2048 -validity 50000
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore k.keystore ./juicessh/dist/juicessh.apk a
    

Ergebnis und Einschränkungen

  • Nach der Installation der signierten APK können Sicherheitswarnungen ignoriert und die Pro-Funktionen wieder genutzt werden
  • Die Cloud-Synchronisierung funktioniert nicht, und Plugins werden ebenfalls nicht mehr unterstützt
  • Der Autor beschreibt dies als Vertrauensverlust gegenüber dem Entwickler und bewertet es als „eine absurde Angelegenheit“

Noch keine Kommentare.

Noch keine Kommentare.