2 poin oleh GN⁺ 2026-01-28 | 1 komentar | Bagikan ke WhatsApp
  • Klien SSH JuiceSSH untuk Android tidak lagi dapat mengenali pembayaran pembeli lama setelah Desember 2025
  • Lisensi yang dibeli oleh pengguna pada 2019 menjadi tidak valid, harganya naik 20 dolar, dan beberapa pengguna mengalami masalah tetap tidak aktif meski sudah membeli ulang
  • Karena tim dukungan tidak merespons, pengguna pada praktiknya menganggap ini sebagai "exit scam"
  • Tulisan ini menjelaskan langkah demi langkah cara mendekompilasi aplikasi dan memodifikasi kode smali menggunakan ApkTool, jadx, jarsigner, dan lainnya untuk memulihkan fitur Pro
  • Sinkronisasi cloud dan plugin sudah tidak berfungsi, tetapi ini diperkenalkan sebagai cara untuk kembali menggunakan fitur Pro

Situasi masalah JuiceSSH

  • JuiceSSH adalah klien SSH yang tersedia di Android, dan penulis menilainya sebagai aplikasi terbaik hingga Desember 2025
  • Lisensi versi Pro yang dibeli pada 2019 tidak lagi dikenali, dan harganya naik 20 dolar
  • Beberapa pengguna meninggalkan ulasan bahwa aplikasi tidak aktif bahkan setelah membeli ulang
  • Aplikasi telah dihapus dari daftar di Google Play, dan tim dukungan tidak merespons
  • Penulis menggambarkan situasi ini sebagai exit scam

Persiapan pemulihan aplikasi

  • Untuk membuat aplikasi berfungsi lagi diperlukan alat seperti jadx, ApkTool, jarsigner (termasuk OpenJDK)
    • Di Windows, instalasi dapat dilakukan dengan choco install openjdk
  • APK JuiceSSH dapat diunduh dari PureAPK, atau diekstrak langsung menggunakan adb
  • Saat mengunduh, perlu dilakukan verifikasi hash SHA256
    • Hash untuk versi terakhir (3.2.2) adalah d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232

Tahap dekompilasi

  • Gunakan ApkTool untuk mendekompilasi kode DEX dari APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
    

Modifikasi kode smali

  • Tiga file smali perlu dimodifikasi

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

  • Fungsi public boolean H() melakukan verifikasi pembelian dan tanda tangan
  • Hapus logika verifikasi asli dan ubah agar selalu mengembalikan true
    public boolean H() {
        return true;
    }
    

2. smali/com/sonelli/oi0.smali

  • Fungsi public static boolean d(Object obj) memanggil H() di atas untuk memeriksa validitas pembelian
  • Ubah agar selalu mengembalikan true
    public static boolean d(Object obj) {
        return obj.getClass().getName().equals(User.class.getName());
    }
    

3. smali/com/sonelli/pi0.smali

  • Fungsi public static void j(Context context, p pVar) adalah bagian inti autentikasi fitur Pro
  • Awalnya fungsi ini memverifikasi sesi pengguna dan melakukan autentikasi ulang saat kedaluwarsa
  • Pada versi yang dimodifikasi, fungsi ini membuat objek pengguna palsu, mengatur masa kedaluwarsa sesi menjadi 1 tahun ke depan, lalu selalu memanggil callback sukses
    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);
    }
    

Kompilasi ulang dan penandatanganan

  • Setelah dimodifikasi, bangun kembali APK
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh
    
  • File hasil berada di juicessh\dist\juicessh.apk
  • Buat keystore untuk penandatanganan sendiri dan tanda tangani 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
    

Hasil dan keterbatasan

  • Jika APK yang sudah ditandatangani dipasang, fitur Pro dapat digunakan kembali dengan mengabaikan peringatan keamanan
  • Fitur sinkronisasi cloud tidak berfungsi, dan plugin juga tidak lagi didukung
  • Penulis menggambarkan situasi ini sebagai hilangnya kepercayaan pada pengembang, dan menilainya sebagai “hal yang seperti lelucon”

1 komentar

 
GN⁺ 2026-01-28
Opini Hacker News
  • Tim dukungan sepenuhnya bungkam, jadi ini pada dasarnya terlihat seperti exit scam
    Baru sekarang isu ini mulai mendapat perhatian, padahal banyak pengguna sudah kehilangan uang
    Kedua pengembang sekarang masing-masing berada di posisi manajerial di Microsoft dan AWS, sambil mengabaikan email
    JuiceSSH dibiarkan terbengkalai begitu saja, berakhir tanpa refund, tanpa membuka source code, bahkan tanpa update terakhir yang layak
    Saya sudah menghubungi tim dukungan Google Play, tetapi hanya mendapat jawaban bahwa refund tidak bisa dilakukan setelah 120 hari sejak pembayaran
    Tautan terkait: Tentang JuiceSSH, Tentang Sonelli, Paul Maddox, Tom Maddox

    • Beberapa tautan di atas memunculkan error CloudFront, tetapi sonelli.com masih bisa diakses
      Beberapa bulan lalu saya sempat mengaktifkan ulang lisensi lewat fitur di dalam aplikasi, meski saya tidak ingat persis kapan
  • Saya sudah memakai aplikasi ini selama bertahun-tahun, dan baru-baru ini saat mencoba memakai fitur forwarding (fitur Pro), saya diminta membayar lagi
    Padahal saya sudah membelinya pada 2014 seharga 5 euro, tetapi kali ini saya membayar lagi 30 euro, dan tepat setelah itu seluruh aplikasi terkunci
    Saya sudah berkali-kali mengirim email, tetapi tidak ada jawaban sama sekali

    • Kalau masih memungkinkan, saya sarankan mencoba meminta refund ke Google
      Menurut kebijakan refund Google Play, itu hanya bisa dalam 48 jam, tetapi “pembelian sama sekali tidak berfungsi” mungkin bisa jadi pengecualian
    • Saya tidak paham kenapa orang membayar untuk fitur seperti itu
      Termux adalah Linux kecil di saku, jadi semua fitur terkait SSH sudah ada
  • Saya tidak sepakat dengan pernyataan “JuiceSSH adalah yang terbaik di Android”, tetapi saya sendiri selalu hanya memakai kombinasi Termux + Unexpected Keyboard
    Sulit membayangkan aplikasi lain bisa memperbaiki pengalaman ini
    Saya penasaran apa yang membuat JuiceSSH dianggap sebagus itu

    • Diskusi saat ini adalah tentang kondisi JuiceSSH yang sudah tidak berfungsi lagi dan dukungannya terputus. Itu sepertinya sudah menjawabnya
    • Dulu saya sempat memakai JuiceSSH Pro gratis untuk sementara, tetapi sekarang rasanya Termux jauh lebih baik
      Bisa mengatur SSH key dan alias, koneksi multi-hop juga bisa, dan dukungan shortcut dari AnySoftKeyboard sangat membantu efisiensi
      Semuanya bisa dipasang dari F-Droid
    • Saya belum pernah memakai JuiceSSH maupun Termux, tetapi saya sudah lama memakai ConnectBot untuk SSH dan port forwarding tanpa masalah
      Untuk koneksi sesi VNC juga tidak ada kendala
    • Saya heran tidak ada yang menyebut ServerBox
      ServerBox (F-Droid) juga alternatif yang cukup bagus
    • Saya membeli JuiceSSH Pro sejak lama dan sampai sekarang masih memakainya setiap hari
      Saya bisa masuk ke beberapa server hanya dengan satu klik, dan sinkronisasi antar perangkat juga praktis
      Saya baru mencoba Termux belakangan ini dan tampaknya bisa jadi pengganti, tetapi dalam hal copy-paste atau menjaga koneksi tetap hidup saat pindah aplikasi, JuiceSSH masih lebih baik
  • Sudah lama saya tidak memakai versi Pro, tetapi kalau sekarang mungkin saya akan memakai aplikasi Terminal yang tersedia mulai Android 15
    Ini adalah lingkungan VM Debian yang lengkap

    • Hanya saja chip Snapdragon tidak mendukung fitur yang dibutuhkan, jadi ini hanya bisa dipakai di perangkat Pixel atau MediaTek
    • Termux tidak memakai VM, jadi bisa dipakai dengan lebih ringan
    • Apa maksudnya Termux? Saya tidak menemukan aplikasi Terminal lain dengan nama yang mirip
  • Kejadian ini bisa jadi momentum yang bagus untuk memperkenalkan alat otomasi patch seperti Morphie atau ReVanced

    • Saya sudah cukup mengenal ReVanced, tetapi baru pertama kali mendengar Morphie
      Setelah saya cari, itu bisa dilihat di morphe.software
      Saat ini tampaknya seperti proyek turunan ReVanced yang hanya mendukung YouTube
      Sebagai referensi, situs resmi ReVanced awalnya berangkat dari aplikasi YouTube tanpa iklan (Vanced), dan sekarang berkembang menjadi alat untuk melakukan patch pada berbagai aplikasi
  • Saya baru sadar semua plugin fitur Pro sudah dihapus dari Play Store
    Dulu saya menganggapnya klien SSH terbaik di Android, jadi ini benar-benar disayangkan

  • Peristiwa ini kembali mengingatkan saya akan risiko penyimpanan key di cloud
    Saya berencana menghapus semua key di .ssh dan menyiapkannya ulang berbasis ed25519

    • Saya juga sempat mengira sudah mencadangkan SSH key saya ke JuiceSSH, tetapi sekarang rasanya itu bisa berbahaya
      Kalau key-nya tidak segera diganti, ini bisa jadi mimpi buruk keamanan
  • Saya paham kenapa posting seperti ini muncul, tetapi menurut saya kesimpulannya mungkin terlalu terburu-buru
    Bisa saja pengembang atau tim dukungannya sedang kewalahan sehingga respons terlambat, atau aplikasinya rusak karena bug
    Melaporkan bug, meminta refund, dan memakai aplikasi alternatif rasanya lebih baik sebagai respons
    Saya lebih khawatir kalau ini malah meluas menjadi sentimen negatif terhadap sideloading

    • Tetapi aplikasi ini sudah bekerja baik selama bertahun-tahun tanpa banyak perubahan, lalu tiba-tiba harganya naik dan fitur Pro berhenti berfungsi
      Sulit menerima kondisi ketika uang tetap ditarik dalam keheningan total
      Setidaknya mereka seharusnya meninggalkan satu kalimat saja seperti “kami kehilangan akses ke source code”
  • Dua tahun lalu saya sepenuhnya mengganti JuiceSSH dengan ConnectBot
    Gratis dan bekerja baik tanpa masalah
    Tautan Play Store

    • Ada juga versi F-Droid dan repositori GitHub
    • Saya belum pernah memakai JuiceSSH maupun Termux, tetapi ConnectBot adalah klien SSH yang stabil dan dapat diandalkan