2 points par GN⁺ 2026-01-28 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Le client SSH JuiceSSH pour Android ne reconnaîtra plus les paiements des acheteurs existants après décembre 2025
  • La licence d’un utilisateur achetée en 2019 a été invalidée, le prix a augmenté de 20 dollars, et certains utilisateurs constatent qu’elle ne s’active pas même après un nouvel achat
  • L’équipe de support ne répondant pas, les utilisateurs y voient de facto une « exit scam »
  • L’article explique étape par étape comment décompiler l’application et modifier le code smali à l’aide d’ApkTool, jadx, jarsigner, etc., afin de restaurer les fonctionnalités Pro
  • La synchronisation cloud et les plugins ne fonctionnent plus, mais la méthode est présentée comme un moyen de réutiliser les fonctionnalités Pro

Le problème avec JuiceSSH

  • JuiceSSH est un client SSH disponible sur Android, que l’auteur considérait comme la meilleure application jusqu’en décembre 2025
  • La licence de la version Pro achetée en 2019 n’est plus reconnue, et le prix a augmenté de 20 dollars
  • Certains utilisateurs ont laissé des avis indiquant que l’application ne s’active pas même après un nouvel achat
  • Sur Google Play, l’application a été retirée de la liste, et l’équipe de support ne répond pas
  • L’auteur qualifie cette situation d’exit scam

Préparer la restauration de l’application

  • Pour refaire fonctionner l’application, il faut des outils comme jadx, ApkTool et jarsigner (inclus avec OpenJDK)
    • Sous Windows, l’installation est possible avec choco install openjdk
  • L’APK de JuiceSSH peut être téléchargé depuis PureAPK, ou extrait directement avec adb
  • Lors du téléchargement, il faut vérifier le hash SHA256
    • Le hash de la dernière version (3.2.2) est d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232

Étape de décompilation

  • Utiliser ApkTool pour décompiler le code DEX de l’APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
    

Modification du code smali

  • Trois fichiers smali doivent être modifiés

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

  • La fonction public boolean H() effectue la vérification de l’achat et de la signature
  • Supprimer la logique de vérification d’origine et la remplacer pour retourner toujours true
    public boolean H() {
        return true;
    }
    

2. smali/com/sonelli/oi0.smali

  • La fonction public static boolean d(Object obj) appelle le H() ci-dessus pour vérifier la validité de l’achat
  • La modifier pour retourner toujours true
    public static boolean d(Object obj) {
        return obj.getClass().getName().equals(User.class.getName());
    }
    

3. smali/com/sonelli/pi0.smali

  • La fonction public static void j(Context context, p pVar) est la partie centrale de l’authentification des fonctionnalités Pro
  • À l’origine, elle vérifie la session utilisateur et relance une authentification en cas d’expiration
  • Dans la version modifiée, elle crée un faux objet utilisateur, définit l’expiration de session à un an plus tard, puis appelle toujours le callback de succès
    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);
    }
    

Recompilation et signature

  • Après modification, reconstruire l’APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh
    
  • Le fichier généré se trouve dans juicessh\dist\juicessh.apk
  • Créer un keystore pour l’auto-signature puis signer l’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
    

Résultat et limites

  • Une fois l’APK signé installé, il est possible de réutiliser les fonctionnalités Pro en ignorant l’avertissement de sécurité
  • La synchronisation cloud ne fonctionne pas, et les plugins ne sont plus pris en charge
  • L’auteur dit avoir perdu confiance dans le développeur et qualifie la situation de « farce »

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.