2 puntos por GN⁺ 2026-01-28 | 1 comentarios | Compartir por WhatsApp
  • El cliente SSH JuiceSSH para Android dejará de reconocer los pagos de compradores anteriores después de diciembre de 2025
  • A usuarios que compraron en 2019 se les invalidó la licencia, el precio subió 20 dólares y algunos reportan que incluso tras volver a comprar no se activa
  • Como el equipo de soporte no responde, los usuarios perciben esto prácticamente como un "exit scam"
  • El artículo muestra paso a paso cómo descompilar la app y modificar código smali usando ApkTool, jadx, jarsigner y otras herramientas para restaurar las funciones Pro
  • La sincronización en la nube y los plugins ya no funcionan, pero se presenta como una forma de volver a usar las funciones Pro

La situación problemática de JuiceSSH

  • JuiceSSH es un cliente SSH disponible en Android, y el autor lo consideró la mejor app hasta diciembre de 2025
  • La licencia de la versión Pro comprada en 2019 ya no se reconoce, y el precio subió 20 dólares
  • Algunos usuarios dejaron reseñas indicando que la app no se activa incluso después de volver a comprarla
  • La app fue eliminada del listado en Google Play y el equipo de soporte no responde
  • El autor describe esta situación como un exit scam

Preparación para restaurar la app

  • Para volver a hacer funcionar la app se necesitan herramientas como jadx, ApkTool y jarsigner (incluido con OpenJDK)
    • En Windows se puede instalar con choco install openjdk
  • El APK de JuiceSSH puede descargarse desde PureAPK o extraerse directamente usando adb
  • Al descargarlo, se debe verificar el hash SHA256
    • El hash de la última versión (3.2.2) es d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232

Paso de descompilación

  • Usar ApkTool para descompilar el código DEX del APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
    

Modificación del código smali

  • Hay que modificar tres archivos smali

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

  • La función public boolean H() realiza la verificación de compra y firma
  • Se elimina la lógica original de validación y se cambia para que siempre devuelva true
    public boolean H() {
        return true;
    }
    

2. smali/com/sonelli/oi0.smali

  • La función public static boolean d(Object obj) llama al H() anterior para comprobar la validez de la compra
  • Se modifica para que siempre devuelva true
    public static boolean d(Object obj) {
        return obj.getClass().getName().equals(User.class.getName());
    }
    

3. smali/com/sonelli/pi0.smali

  • La función public static void j(Context context, p pVar) es la parte central de la autenticación de funciones Pro
  • Originalmente valida la sesión del usuario y vuelve a autenticar si expiró
  • En la versión modificada se crea un objeto de usuario falso, se establece la expiración de sesión a 1 año y luego siempre se llama al callback de éxito
    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);
    }
    

Recompilación y firma

  • Después de modificarlo, se vuelve a compilar el APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh
    
  • El archivo generado queda en juicessh\dist\juicessh.apk
  • Crear un keystore para firma propia y firmar el 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
    

Resultado y limitaciones

  • Al instalar el APK firmado se puede volver a usar las funciones Pro ignorando la advertencia de seguridad
  • La sincronización en la nube no funciona y los plugins ya no son compatibles
  • El autor expresa esto como una pérdida de confianza en el desarrollador y lo califica como algo “de chiste”

1 comentarios

 
GN⁺ 2026-01-28
Comentarios en Hacker News
  • El equipo de soporte está completamente en silencio, así que en la práctica parece una exit scam
    Mucha gente perdió dinero y recién ahora el problema está empezando a recibir atención
    Los dos desarrolladores actualmente ocupan puestos de gestión en Microsoft y AWS, y están ignorando los correos electrónicos
    JuiceSSH quedó abandonado, sin reembolsos, sin liberar el código fuente y ni siquiera una última actualización
    Me contacté con el soporte de Google Play, pero solo me respondieron que no pueden hacer reembolsos después de 120 días desde el pago
    Enlaces relacionados: Acerca de JuiceSSH, Acerca de Sonelli, Paul Maddox, Tom Maddox

    • Algunos de los enlaces de arriba dan error de CloudFront, pero sonelli.com sigue accesible
      Hace unos meses reactivé la licencia con una función dentro de la app, aunque no recuerdo exactamente cuándo fue
  • Llevo años usando esta app, pero recientemente al intentar usar la función de forwarding (función Pro), me apareció un mensaje pidiéndome pagar otra vez
    Ya la había comprado en 2014 por 5 euros, y esta vez volví a pagar 30 euros, pero de inmediato se bloqueó toda la app
    Envié varios correos, pero no recibí ninguna respuesta

    • Si todavía estás a tiempo, te recomiendo pedir un reembolso a Google
      Según la política de reembolsos de Google Play, solo es posible dentro de 48 horas, pero “la compra no funciona en absoluto” podría ser una excepción
    • No entiendo por qué pagarías por una función así
      Termux es como un pequeño Linux en tu bolsillo, así que ya incluye todas las funciones relacionadas con SSH
  • No diría que “JuiceSSH es lo mejor en Android”, pero yo siempre he usado la combinación Termux + Unexpected Keyboard
    No me imagino cómo otra app podría mejorar esa experiencia
    Tengo curiosidad por saber por qué JuiceSSH es tan bueno

    • La discusión aquí es sobre que JuiceSSH ya no funciona y dejó de tener soporte. Creo que esa sería la respuesta
    • Antes usé JuiceSSH Pro gratis por un tiempo, pero ahora siento que Termux es mucho mejor
      Puedes configurar claves SSH y alias, hacer conexiones multihop, y el soporte de atajos en AnySoftKeyboard lo hace muy eficiente
      Todo se puede instalar desde F-Droid
    • No he usado ni JuiceSSH ni Termux, pero me ha ido muy bien usando ConnectBot para SSH y port forwarding
      Tampoco tuve problemas para conectarme a sesiones de VNC
    • Me sorprende que nadie haya mencionado ServerBox
      ServerBox (F-Droid) también es una buena alternativa
    • Compré JuiceSSH Pro hace mucho tiempo y todavía lo uso todos los días
      Podía entrar a varios servidores con un clic, y la sincronización entre dispositivos también era conveniente
      Probé Termux hace poco y parece que podría reemplazarlo, pero JuiceSSH sigue siendo mejor para copiar y pegar o para mantener la conexión al cambiar entre apps
  • Hace tiempo que no uso la versión Pro, pero ahora probablemente usaría la app Terminal incluida desde Android 15
    Es un entorno completo de Debian VM

    • Eso sí, los chips Snapdragon no soportan la función necesaria, así que solo funciona en dispositivos Pixel o MediaTek
    • Termux no usa una VM, así que puede usarse de forma más ligera
    • ¿Seguro que te refieres a Termux? No encuentro ninguna otra app Terminal con un nombre parecido
  • Lo de esta vez podría ser una buena oportunidad para presentar herramientas de automatización de parches como Morphie o ReVanced

    • Conozco bien ReVanced, pero es la primera vez que escucho de Morphie
      Buscando un poco, se puede ver en morphe.software
      Por ahora parece ser un proyecto derivado de ReVanced que solo soporta YouTube
      Como referencia, el sitio oficial de ReVanced empezó con la app de YouTube sin anuncios (Vanced) y ahora evolucionó a una herramienta para parchear varias apps
  • Acabo de darme cuenta de que todos los plugins de funciones Pro fueron eliminados de la Play Store
    Antes pensaba que era el mejor cliente SSH en Android; de verdad es una pena

  • Todo esto me volvió a recordar el riesgo de guardar claves en la nube
    Voy a borrar todas mis claves de .ssh y volver a configurarlas con ed25519

    • Yo también creía que tenía mis claves SSH respaldadas en JuiceSSH, pero ahora veo que podría ser peligroso
      Si no las cambio pronto, podría convertirse en una pesadilla de seguridad
  • Entiendo por qué aparecen publicaciones así, pero también creo que podría ser una conclusión apresurada
    Puede que los desarrolladores o el equipo de soporte estén saturados y por eso respondan tarde, o que la app se haya roto por un bug
    Presentar un reporte de error, pedir reembolso o usar una app alternativa me parece una mejor respuesta
    Me preocupa más que esto termine extendiendo una percepción negativa sobre el sideloading

    • Pero la app funcionó bien durante años casi sin cambios, y de repente subió de precio y las funciones Pro dejaron de funcionar
      Es difícil aceptar que sigan cobrando mientras guardan silencio total
      Como mínimo, deberían haber dejado aunque fuera una sola frase como “perdimos acceso al código fuente”
  • Hace 2 años reemplacé JuiceSSH por completo con ConnectBot
    Es gratis y funciona sin problemas
    Enlace de Play Store