JuiceSSH – 내 프로 기능을 돌려줘
(nproject.io)- Android용 SSH 클라이언트 JuiceSSH가 2025년 12월 이후 기존 구매자들의 결제를 인식하지 못하게 됨
- 2019년에 구매한 사용자의 라이선스가 무효화되고, 가격이 20달러 인상되었으며, 일부 사용자는 재구매 후에도 활성화되지 않는 문제를 겪음
- 지원팀이 응답하지 않아 사용자들은 이를 사실상 ‘exit scam’ 으로 인식
- 글에서는 ApkTool, jadx, jarsigner 등을 이용해 앱을 디컴파일하고 smali 코드를 수정하여 프로 기능을 복원하는 방법을 단계별로 제시
- 클라우드 동기화와 플러그인은 더 이상 작동하지 않지만, 프로 기능을 다시 사용할 수 있는 방법으로 소개됨
JuiceSSH의 문제 상황
- JuiceSSH는 Android에서 사용 가능한 SSH 클라이언트로, 작성자는 2025년 12월까지 이를 최고의 앱으로 평가함
- 2019년에 구매한 Pro 버전 라이선스가 더 이상 인식되지 않음, 가격은 20달러 상승
- 일부 사용자는 재구매 후에도 앱이 활성화되지 않는다고 리뷰에 남김
- Google Play에서 앱이 리스트에서 제거되었으며, 지원팀은 응답하지 않음
- 이러한 상황을 작성자는 exit scam으로 표현
앱 복원 준비
- 앱을 다시 작동시키기 위해 jadx, ApkTool, jarsigner(OpenJDK 포함) 등의 도구가 필요함
- Windows에서는
choco install openjdk로 설치 가능
- Windows에서는
- JuiceSSH APK는 PureAPK에서 다운로드하거나, adb를 이용해 직접 추출 가능
- 다운로드 시 SHA256 해시 검증 필요
- 마지막 버전(3.2.2)의 해시는
d1ee811bcd82f25aea0bdc568896d82017ee174d9c4631c123a9d9173c748232
- 마지막 버전(3.2.2)의 해시는
디컴파일 단계
- ApkTool을 이용해 APK의 DEX 코드를 디컴파일
& "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar ./apktool_2.12.1.jar d juicessh.apk
smali 코드 수정
- 세 개의 smali 파일을 수정해야 함
1. smali/com/sonelli/juicessh/models/User.smali
-
public boolean H()함수는 구매 및 서명 검증을 수행 - 원래의 검증 로직을 제거하고 항상 true를 반환하도록 변경
public boolean H() { return true; }
2. smali/com/sonelli/oi0.smali
-
public static boolean d(Object obj)함수는 위의H()를 호출해 구매 유효성을 확인 - 이를 항상 true를 반환하도록 수정
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)함수는 프로 기능 인증의 핵심 부분 - 원래는 사용자 세션을 검증하고 만료 시 재인증을 수행
- 수정된 버전에서는 가짜 사용자 객체를 생성하고, 세션 만료를 1년 뒤로 설정한 뒤 항상 성공 콜백을 호출
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); }
재컴파일 및 서명
- 수정 후 APK를 다시 빌드
& "C:\Program Files\OpenJDK\jdk-25\bin\java.exe" -jar .\apktool_2.12.1.jar b juicessh - 생성된 파일은
juicessh\dist\juicessh.apk에 위치 -
자체 서명용 keystore 생성 및 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
결과 및 한계
- 서명된 APK를 설치하면 보안 경고를 무시하고 프로 기능을 다시 사용할 수 있음
- 클라우드 동기화 기능은 작동하지 않으며, 플러그인도 더 이상 지원되지 않음
- 작성자는 이러한 상황을 개발자에 대한 신뢰 상실로 표현하며, 이를 “농담 같은 일”로 평가함
Hacker News 의견들
-
지원팀이 완전히 잠잠해서 사실상 exit scam처럼 보임
많은 사용자가 돈을 잃은 상태에서 이제야 이슈가 주목받기 시작했음
두 개발자는 현재 각각 Microsoft와 AWS의 관리직에 있으면서 이메일을 무시하고 있음
JuiceSSH는 방치된 채로 환불이나 소스 공개, 마지막 업데이트조차 없이 끝나버림
Google Play 지원팀에 문의했지만, 결제 후 120일이 지나면 환불이 불가능하다는 답변만 받았음
관련 링크: JuiceSSH 소개, Sonelli 소개, Paul Maddox, Tom Maddox- 위 링크 중 일부는 CloudFront 오류가 나지만 sonelli.com은 여전히 접속 가능함
몇 달 전 앱 내 기능으로 라이선스를 재활성화했는데, 정확히 언제였는지는 기억이 안 남
- 위 링크 중 일부는 CloudFront 오류가 나지만 sonelli.com은 여전히 접속 가능함
-
몇 년째 이 앱을 써왔는데, 최근 포워딩 기능(프로 기능)을 쓰려다 다시 결제하라는 메시지를 받았음
이미 2014년에 5유로로 구매했는데 이번엔 30유로를 또 냈고, 그 즉시 앱 전체가 잠겨버림
이메일을 여러 번 보냈지만 아무 답도 없음- 아직이라면 Google에 환불 요청을 해보길 권함
Google Play 환불 정책에 따르면 48시간 이내만 가능하지만, “구매가 전혀 작동하지 않음”은 예외일 수 있음 - 왜 그런 기능에 돈을 내는지 모르겠음
Termux는 포켓 속의 작은 Linux라서 SSH 관련 기능은 다 있음
- 아직이라면 Google에 환불 요청을 해보길 권함
-
“JuiceSSH가 Android에서 최고”라는 말은 인정하지 않지만, 나는 Termux + Unexpected Keyboard 조합만 써왔음
다른 앱이 이 경험을 개선할 수 있을지 상상이 안 감
JuiceSSH가 그렇게 좋은 이유가 뭔지 궁금함- 지금 논의는 JuiceSSH가 더 이상 작동하지 않고 지원이 끊긴 상황에 대한 것임. 그게 답이 될 것 같음
- 예전에 JuiceSSH Pro를 잠깐 무료로 썼지만, 지금은 Termux가 훨씬 낫다고 느낌
SSH 키와 alias 설정, 멀티홉 연결 모두 가능하고, AnySoftKeyboard의 단축키 지원이 좋아서 효율적임
F-Droid에서 전부 설치 가능함 - JuiceSSH나 Termux 둘 다 안 써봤지만, ConnectBot으로 SSH와 포트 포워딩을 잘 써왔음
VNC 세션 연결에도 문제없었음 - 아무도 ServerBox를 언급하지 않아서 놀람
ServerBox (F-Droid)도 괜찮은 대안임 - JuiceSSH Pro를 오래전 구매해 지금도 매일 씀
서버 몇 개를 원클릭으로 접속할 수 있고, 기기 간 동기화도 편했음
최근 Termux를 써보니 대체 가능해 보이지만, 복사·붙여넣기나 앱 전환 시 연결 유지력은 JuiceSSH가 더 좋음
-
Pro 버전을 오래 안 썼지만, 지금이라면 Android 15부터 제공되는 Terminal 앱을 쓸 것 같음
완전한 Debian VM 환경임- 다만 Snapdragon 칩은 필요한 기능을 지원하지 않아 Pixel이나 MediaTek 기기에서만 가능함
- Termux는 VM을 쓰지 않기 때문에 더 가볍게 쓸 수 있음
- 혹시 Termux를 말하는 건지? 비슷한 이름의 다른 Terminal 앱은 못 찾겠음
-
이번 사태는 Morphie나 ReVanced 같은 패치 자동화 도구를 소개하기 좋은 계기일 수도 있음
- ReVanced는 잘 알고 있지만 Morphie는 처음 들어봄
찾아보니 morphe.software에서 확인 가능함
현재는 YouTube만 지원하는 ReVanced의 파생 프로젝트 같음
참고로 ReVanced 공식 사이트는 원래 광고 없는 YouTube 앱(Vanced)에서 출발해, 지금은 여러 앱을 패치할 수 있는 툴로 발전했음
- ReVanced는 잘 알고 있지만 Morphie는 처음 들어봄
-
프로 기능 플러그인들이 전부 Play Store에서 삭제된 걸 방금 발견함
예전엔 Android에서 최고의 SSH 클라이언트라고 생각했는데 정말 아쉬움 -
이번 일로 클라우드 키 저장의 위험성을 다시 깨달음
.ssh 키를 전부 지우고 ed25519 기반으로 새로 구성할 예정임- 나도 JuiceSSH에 SSH 키를 백업해둔 줄 알고 있었는데, 지금 보니 위험할 수도 있겠음
키를 빨리 교체하지 않으면 보안 악몽이 될 수도 있음
- 나도 JuiceSSH에 SSH 키를 백업해둔 줄 알고 있었는데, 지금 보니 위험할 수도 있겠음
-
이런 글이 올라오는 이유는 이해하지만, 너무 성급한 결론일 수도 있다고 생각함
개발자나 지원팀이 과부하로 대응이 늦을 수도 있고, 앱이 버그로 망가질 수도 있음
차라리 버그 리포트, 환불 요청, 대체 앱 사용이 더 나은 대응 같음
사이드로딩에 대한 부정적 인식으로 번지는 건 더 우려됨- 하지만 앱이 수년간 거의 변경 없이 잘 작동하다가 갑자기 가격이 오르고 프로 기능이 멈췄음
완전한 침묵 속에서 돈만 받는 건 납득하기 어려움
최소한 “소스 코드 접근을 잃었다”는 한마디라도 남겼어야 함
- 하지만 앱이 수년간 거의 변경 없이 잘 작동하다가 갑자기 가격이 오르고 프로 기능이 멈췄음
-
2년 전 JuiceSSH를 ConnectBot으로 완전히 대체했음
무료이면서 문제없이 잘 작동함
Play Store 링크- F-Droid 버전과 GitHub 저장소도 있음
- JuiceSSH나 Termux는 안 써봤지만, ConnectBot은 안정적이고 신뢰할 만한 SSH 클라이언트임