2 puan yazan GN⁺ 2026-01-28 | 1 yorum | WhatsApp'ta paylaş
  • Android için SSH istemcisi JuiceSSH, 2025 Aralık sonrasından itibaren mevcut satın alımlar için ödemeleri tanıyamaz hale geldi
  • 2019’da satın alan kullanıcıların lisansları geçersiz kılındı, fiyat 20 dolar artırıldı ve bazı kullanıcılar yeniden satın almalarına rağmen etkinleştirme sorunu yaşadı
  • Destek ekibi yanıt vermediği için kullanıcılar bunu fiilen bir “exit scam” olarak görüyor
  • Yazıda, ApkTool, jadx, jarsigner gibi araçlar kullanılarak uygulamanın decompile edilmesi ve smali kodunun değiştirilmesi yoluyla Pro özelliklerin nasıl geri yükleneceği adım adım anlatılıyor
  • Bulut senkronizasyonu ve eklentiler artık çalışmasa da, Pro özellikleri yeniden kullanmanın bir yolu olarak sunuluyor

JuiceSSH’deki sorun durumu

  • JuiceSSH, Android’de kullanılabilen bir SSH istemcisi ve yazar bunu 2025 Aralık’a kadar en iyi uygulama olarak değerlendiriyor
  • 2019’da satın alınan Pro sürüm lisansı artık tanınmıyor, fiyat ise 20 dolar arttı
  • Bazı kullanıcılar incelemelerde yeniden satın aldıktan sonra bile uygulamanın etkinleşmediğini yazdı
  • Uygulama Google Play’de listeden kaldırıldı ve destek ekibi yanıt vermiyor
  • Yazar bu durumu bir exit scam olarak nitelendiriyor

Uygulamayı geri yükleme hazırlığı

  • Uygulamayı yeniden çalıştırmak için jadx, ApkTool, jarsigner (OpenJDK dahil) gibi araçlar gerekiyor
    • Windows’ta choco install openjdk ile kurulabilir
  • JuiceSSH APK’si PureAPK üzerinden indirilebilir ya da adb ile doğrudan çıkarılabilir
  • İndirme sırasında SHA256 hash doğrulaması gerekli
    • Son sürümün (3.2.2) hash değeri: d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232

Decompile aşaması

  • ApkTool kullanılarak APK’nin DEX kodu decompile ediliyor
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
    

smali kodunu değiştirme

  • Üç smali dosyasının değiştirilmesi gerekiyor

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

  • public boolean H() fonksiyonu satın alma ve imza doğrulaması yapıyor
  • Mevcut doğrulama mantığı kaldırılıp her zaman true dönecek şekilde değiştiriliyor
    public boolean H() {
        return true;
    }
    

2. smali/com/sonelli/oi0.smali

  • public static boolean d(Object obj) fonksiyonu yukarıdaki H() çağrısıyla satın alma geçerliliğini kontrol ediyor
  • Bu da her zaman true dönecek şekilde değiştiriliyor
    public static boolean d(Object obj) {
        return obj.getClass().getName().equals(User.class.getName());
    }
    

3. smali/com/sonelli/pi0.smali

  • public static void j(Context context, p pVar) fonksiyonu Pro özellik doğrulamasının çekirdek kısmı
  • Aslında kullanıcı oturumunu doğruluyor ve süre dolduğunda yeniden doğrulama yapıyor
  • Değiştirilmiş sürümde sahte bir kullanıcı nesnesi oluşturuluyor, oturum süresi 1 yıl sonrasına ayarlanıyor ve her zaman başarılı callback çağrılıyor
    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);
    }
    

Yeniden derleme ve imzalama

  • Değişikliklerden sonra APK yeniden build ediliyor
    & "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh
    
  • Oluşturulan dosya juicessh\dist\juicessh.apk konumunda
  • Kendi kendine imzalama için keystore oluşturma ve APK’yi imzalama
    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
    

Sonuç ve sınırlamalar

  • İmzalanmış APK kurulduğunda güvenlik uyarısı göz ardı edilerek Pro özellikler yeniden kullanılabiliyor
  • Bulut senkronizasyonu çalışmıyor ve eklentiler artık desteklenmiyor
  • Yazar bu durumu geliştiriciye duyulan güvenin kaybı olarak ifade ediyor ve bunu “şaka gibi bir iş” diye değerlendiriyor

1 yorum

 
GN⁺ 2026-01-28
Hacker News yorumları
  • Destek ekibi tamamen sessiz, bu yüzden fiilen bir exit scam gibi görünüyor
    Birçok kullanıcı para kaybetmiş durumda ve konu ancak şimdi dikkat çekmeye başlamış
    İki geliştirici de şu anda sırasıyla Microsoft ve AWS’de yönetici pozisyonlarında çalışıyor ve e-postaları görmezden geliyor
    JuiceSSH terk edilmiş durumda; ne iade var, ne kaynak kodunun açılması, ne de son bir güncelleme
    Google Play destek ekibine ulaştım ama yalnızca ödemenin üzerinden 120 gün geçince iadenin mümkün olmadığı yanıtını aldım
    İlgili bağlantılar: JuiceSSH hakkında, Sonelli hakkında, Paul Maddox, Tom Maddox

    • Yukarıdaki bağlantıların bazıları CloudFront hatası veriyor ama sonelli.com hâlâ erişilebilir
      Birkaç ay önce uygulama içi özellikle lisansı yeniden etkinleştirmiştim, ama tam olarak ne zaman olduğunu hatırlamıyorum
  • Bu uygulamayı yıllardır kullanıyordum ama yakın zamanda yönlendirme özelliğini (pro özelliği) kullanmaya çalışınca yeniden ödeme yapmam istendi
    Zaten 2014’te 5 avroya satın almıştım, bu kez bir de 30 avro ödedim ve uygulamanın tamamı anında kilitlendi
    Defalarca e-posta gönderdim ama hiç yanıt gelmedi

    • Hâlâ mümkünse Google’dan iade istemeni öneririm
      Google Play iade politikası 48 saat içinde geçerli diyor ama “satın alma hiç çalışmıyor” durumu istisna olabilir
    • İnsan neden böyle bir özellik için para öder, anlamıyorum
      Termux cebinizdeki küçük bir Linux gibi, yani SSH ile ilgili her şey var
  • “JuiceSSH Android’de en iyisi” sözüne katılmam ama ben hep Termux + Unexpected Keyboard kombinasyonunu kullandım
    Başka bir uygulamanın bu deneyimi nasıl iyileştirebileceğini hayal edemiyorum
    JuiceSSH’nin bu kadar iyi olmasının sebebi ne, merak ediyorum

    • Buradaki tartışma, JuiceSSH’nin artık çalışmıyor olması ve desteğinin kesilmiş olmasıyla ilgili. Sanırım cevap bu
    • Eskiden JuiceSSH Pro’yu kısa süre ücretsiz kullanmıştım ama şimdi Termux’un çok daha iyi olduğunu düşünüyorum
      SSH anahtarları ve alias ayarları, çoklu atlamalı bağlantılar hepsi mümkün; ayrıca AnySoftKeyboard’un kısayol desteği de verimli
      Hepsi F-Droid’dan kurulabiliyor
    • Ne JuiceSSH ne de Termux kullandım ama ConnectBot ile SSH ve port yönlendirmeyi sorunsuz kullandım
      VNC oturumlarına bağlanırken de sorun yaşamadım
    • Kimsenin ServerBox’tan bahsetmemesine şaşırdım
      ServerBox (F-Droid) da iyi bir alternatif
    • JuiceSSH Pro’yu çok uzun zaman önce satın aldım ve hâlâ her gün kullanıyorum
      Birkaç sunucuya tek tıkla bağlanabilmek ve cihazlar arası senkronizasyon çok kullanışlıydı
      Son zamanlarda Termux’u denedim ve onun yerini alabilecek gibi görünüyor ama kopyala-yapıştır ya da uygulamalar arasında geçiş sırasında bağlantıyı koruma konusunda JuiceSSH daha iyi
  • Pro sürümü uzun zamandır kullanmıyordum ama şu anda olsam Android 15 ile gelen Terminal uygulamasını kullanırdım
    Tam bir Debian VM ortamı

    • Ancak Snapdragon çipler gerekli özelliği desteklemiyor, bu yüzden yalnızca Pixel veya MediaTek cihazlarda mümkün
    • Termux VM kullanmadığı için daha hafif olabilir
    • Acaba Termux’u mu kastediyorsun? Benzer isimli başka bir Terminal uygulaması bulamadım
  • Bu olay, Morphie veya ReVanced gibi yama otomasyon araçlarını tanıtmak için iyi bir fırsat olabilir

    • ReVanced’ı iyi biliyorum ama Morphie’yi ilk kez duyuyorum
      Bakınca morphe.software sitesinde görülebiliyor
      Şu anda yalnızca YouTube’u destekleyen, ReVanced’ın bir türev projesi gibi duruyor
      Bu arada ReVanced resmi sitesi başlangıçta reklamsız YouTube uygulaması (Vanced) olarak ortaya çıktı, şimdi ise çeşitli uygulamaları yamalayabilen bir araca dönüştü
  • Pro özellik eklentilerinin tamamının Play Store’dan kaldırıldığını az önce fark ettim
    Eskiden bunun Android’deki en iyi SSH istemcisi olduğunu düşünürdüm, gerçekten üzücü

  • Bu olay bana bulutta anahtar saklamanın risklerini yeniden hatırlattı
    Tüm .ssh anahtarlarını silip ed25519 tabanlı olarak yeniden kuracağım

    • Ben de SSH anahtarlarımı JuiceSSH’ye yedeklediğimi sanıyordum ama şimdi riskli olabileceğini görüyorum
      Anahtarları hızlıca değiştirmezseniz bu bir güvenlik kâbusuna dönüşebilir
  • Böyle bir gönderinin neden paylaşıldığını anlıyorum ama bunun fazla aceleci bir sonuç da olabileceğini düşünüyorum
    Geliştirici ya da destek ekibi aşırı yük altında olabilir, uygulama da bir hata yüzünden bozulmuş olabilir
    Hata raporu göndermek, iade istemek ve alternatif uygulama kullanmak daha iyi tepkiler gibi görünüyor
    Bunun sideloading’e yönelik olumsuz algıya dönüşmesi ise daha da endişe verici

    • Ama uygulama yıllarca neredeyse hiç değişmeden iyi çalıştıktan sonra bir anda fiyat arttı ve pro özellikler durdu
      Tam bir sessizlik içinde para almaya devam etmeleri kabul etmesi zor bir şey
      En azından “kaynak koda erişimi kaybettik” gibi tek cümlelik bir açıklama bırakmaları gerekirdi
  • 2 yıl önce JuiceSSH’yi tamamen ConnectBot ile değiştirdim
    Ücretsiz ve sorunsuz çalışıyor
    Play Store bağlantısı