[Android 앱진단] Crackme.apk 해킹 문제 풀이
NOX에서 CrackMe.apk 파일을 설치하고 앱을 실행 했는데, 계속 앱 중지가 되었다.
그래서 Android Studio에서 앱을 실행 했더니 정상적으로 실행이 되었다. 앱을 실행 시키면 로그인 화면이 뜨는데, 문자와 숫자를 입력해도 incorrect란 팝업 창만 뜨면서 로그인을 할 수 없어서 다른 방법을 강구했다.
디컴파일(JEB) 툴로 apk파일을 열어 onCreate메소드가 있는 곳을 분석했는데, flag로 보이는 flagging{It_cannot_be_easier_than_this}란 문자가 나와서 flag인 줄 알았는데 확인해 보니 flag가 아니었다.
소스코드 내에서 Toast 메소드가 있었는데 어떤 메소드인지 알아내기 위해 계속 분석을 진행 했다.
Toast 메소드가 true로 반환되므로 함수가 반환되는 것과 동일하게 String(사용자 입력 값)이 필요 했다.
if(arg4.equals(c.a(b.a(b.b(b.c(b.d(b.g(b.h(b.e(b.f(b.i(c.c(c.b(c.d(this.getString(2131492920)
그 다음에 디컴파일 툴(jadx)로 res 경로 밑에 values 경로 밑에 strings.xml 소스코드 내에서 의심되는 문자열을 찾았다.
[[c%l][c{g}[%{%Mc%spdgj=]T%aat%=O%bRu%sc]c%ti[o%n=Wcs%=No[t=T][hct%=buga[d=As%=W]e=T%ho[u%[%g]h%t[%}%
다음으로 c클래스와 b클래스를 분석 했는데, 전체 및 일부 문자열을 치환하는 것을 확인했다.
C클래스와 B클래스의 메소드를 문자열 값에 적용 시키기 위해 파이썬 스크립트를 만들어 실행 했다.
그러자 아래와 같이 콘솔 창에 flag가 출력 되었다.
- 끝 -
'해킹 & 보안 > Mobile' 카테고리의 다른 글
[iOS 앱 진단] DVIA-v2 Jailbreak Test3 (0) | 2022.02.20 |
---|---|
[iOS 앱 진단] DVIA-v2 Jailbreak Test2 (0) | 2022.02.19 |
[iOS 앱 진단] DVIA-v2 Jailbreak Test1 (0) | 2022.02.16 |
[Android 앱진단] Clicker.apk 앱 문제 풀이 (0) | 2021.07.21 |
[iOS 앱 진단] DVIA-v2 파일을 IDA Pro를 사용하여 리버싱 하는 과정 (3) | 2021.07.07 |