JuiceSSH – rendez-moi mes fonctionnalités Pro
(nproject.io)- 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
- Sous Windows, l’installation est possible avec
- 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
- Le hash de la dernière version (3.2.2) est
É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 leH()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 »
1 commentaires
Réactions sur Hacker News
L’équipe support est totalement silencieuse, au point que cela ressemble de fait à un exit scam
Ce n’est que maintenant que le problème commence à attirer l’attention alors que de nombreux utilisateurs ont déjà perdu de l’argent
Les deux développeurs occupent actuellement des postes de management chez Microsoft et AWS, tout en ignorant les e-mails
JuiceSSH a été abandonné tel quel, sans remboursement, sans ouverture du code source, ni même une dernière mise à jour
J’ai contacté le support de Google Play, mais on m’a simplement répondu qu’aucun remboursement n’était possible après 120 jours suivant le paiement
Liens associés : À propos de JuiceSSH, À propos de Sonelli, Paul Maddox, Tom Maddox
J’ai réactivé ma licence via une fonctionnalité intégrée à l’application il y a quelques mois, mais je ne me souviens plus exactement quand
J’utilise cette appli depuis des années, et récemment, en essayant d’utiliser la fonction de forwarding (fonction Pro), j’ai reçu un message me demandant de payer à nouveau
Je l’avais déjà achetée en 2014 pour 5 euros, mais cette fois j’ai repayé 30 euros, et immédiatement après, toute l’application s’est verrouillée
J’ai envoyé plusieurs e-mails, sans jamais recevoir de réponse
D’après la politique de remboursement Google Play, ce n’est possible que dans les 48 heures, mais le cas « l’achat ne fonctionne pas du tout » peut faire exception
Termux est un petit Linux dans la poche, donc il a déjà toutes les fonctions liées à SSH
Je ne dirais pas que « JuiceSSH est le meilleur sur Android », mais de mon côté je n’ai utilisé que la combinaison Termux + Unexpected Keyboard
J’ai du mal à imaginer qu’une autre application puisse améliorer cette expérience
Je me demande ce qui rend JuiceSSH si bon
On peut gérer les clés SSH, les alias, les connexions multi-hop, et le support des raccourcis dans AnySoftKeyboard le rend très efficace
Tout est installable depuis F-Droid
Je n’ai eu aucun problème non plus pour me connecter à des sessions VNC
ServerBox (F-Droid) est aussi une bonne alternative
Il permet de se connecter en un clic à quelques serveurs, et la synchronisation entre appareils était pratique
Après avoir testé Termux récemment, ça semble pouvoir le remplacer, mais pour le copier-coller ou la stabilité des connexions lors d’un changement d’application, JuiceSSH reste meilleur
Je n’ai pas utilisé la version Pro depuis longtemps, mais aujourd’hui j’utiliserais probablement l’appli Terminal fournie à partir d’Android 15
C’est un environnement Debian VM complet
Cette affaire est peut-être une bonne occasion de présenter des outils d’automatisation de patchs comme Morphie ou ReVanced
En cherchant, j’ai trouvé des infos sur morphe.software
Cela ressemble pour l’instant à un projet dérivé de ReVanced qui ne prend en charge que YouTube
Pour référence, le site officiel de ReVanced vient à l’origine de Vanced, l’application YouTube sans pub, et a depuis évolué en outil capable de patcher plusieurs applications
Je viens de découvrir que tous les plugins de fonctions Pro ont été supprimés du Play Store
Je pensais autrefois que c’était le meilleur client SSH sur Android, donc c’est vraiment dommage
Cette histoire me rappelle à quel point le stockage de clés dans le cloud est risqué
Je vais supprimer toutes mes clés .ssh et repartir de zéro avec des clés basées sur ed25519
Si je ne les remplace pas rapidement, cela pourrait tourner au cauchemar de sécurité
Je comprends pourquoi ce genre de message est publié, mais je pense qu’il est peut-être trop hâtif dans ses conclusions
Les développeurs ou l’équipe support peuvent être débordés, et l’application a peut-être été cassée par un bug
Signaler le bug, demander un remboursement et utiliser une autre application me semblent être de meilleures réactions
Je suis encore plus inquiet à l’idée que cela alimente une perception négative du sideloading
Encaisser l’argent tout en restant totalement silencieux est difficile à justifier
Ils auraient au moins dû laisser un message du type « nous avons perdu l’accès au code source »
J’ai complètement remplacé JuiceSSH par ConnectBot il y a 2 ans
C’est gratuit et ça fonctionne très bien sans problème
Lien Play Store