System 문제로 파일을 받고 시작합니다.
파일을 받으시면 확장자가 없으니 HxD로 확인 해보시면 zip파일 인걸 알 수 있습니다.
압축을 풀어보기 전에 내용을 확인 해보면 "AndroidManifest.xml" 이 있는 걸보니 apk로 되어있다고 판단할 수 있습니다.
(apk도 일종의 압축이니..)
처음에는 zip파일로 인지하고 "android studio"로 보일꺼라고 생각했지만 전혀 안보여서 검색을 해보니
"apktool"로 apk파일을 디컴파일하여 분석할 수 있다고 합니다.
사용법은 java -jar [apktool 파일 경로] d [디컴파일할 파일명] 입니다.
수행하고나면 폴더가 생성되고 안에 내용은 다음과 같습니다.
그냥 zip파일을 열었을 때와는 좀 다른 파일들이 보입니다.
다양한 파일들이 있어 "Visual Code"로 해당 폴더를 열어 파일을 하나씩 봤습니다.
그 중 Suninatas$1.smali 파일에 내용을 보니 "key" 값도 있으며 다양한 내용이 있습니다.
해당 key 값으로 인증을 시도하면 인증이 되지 않습니다.
그 중에 ".line 41"에 내용에 주목 해야합니다.
suninatas URL로 id,pw,key 값을 get방식으로 전송하는 코드가 있습니다
key 값은 위 사진 v4에 저장되어 있습니다.
id/pw는 사용자의 계정을 입력하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .line 41 new-instance v9, Ljava/lang/StringBuilder; const-string v10, "http://www.suninatas.com/Part_one/web24/chk_key.asp?id=" invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V invoke-interface {v1}, Landroid/text/Editable;->toString()Ljava/lang/String; move-result-object v10 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 const-string v10, "&pw=" invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-interface {v6}, Landroid/text/Editable;->toString()Ljava/lang/String; move-result-object v10 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 const-string v10, "&key=" invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-interface {v4}, Landroid/text/Editable;->toString()Ljava/lang/String; move-result-object v10 invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v9 invoke-static {v9}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v8 | cs |
사용하고 있던 chrome URL창에
http://www.suninatas.com/Part_one/web24/chk_key.asp?id=□□□□&pw=□□□□&key=□□□□□□
이런 식으로 입력해보니 Wrong!Wrong! 이라는 메시지가 나올 뿐 해결되지 않았습니다.
알고보니 android 휴대폰을 이용해서 해당 URL로 접근하면 인증 키를 띄워주었습니다.
하지만 저는 아이폰이기에.. 핸드폰으로는 못해보고
User-Agent Switcher for Chrome 을 이용해서 브라우져를 Android로 변경해서 해결 했습니다.
[참고]
Apktool을 이용한 APK 디컴파일: http://vzio.tistory.com/20
[Android] APKTool 사용법: http://choboitstory.tistory.com/151
smali 코드 배우기: https://i2sec.github.io/files/2017-10-20/study_dalvik_smali.pdf
smali 코드 관련: http://egloos.zum.com/playgame/v/2189805
[Android] smali 코드 분석 연습: http://tribal1012.tistory.com/170
'WarGame > SuNiNaTaS' 카테고리의 다른 글
SuNiNaTaS_23 [WEB] (0) | 2018.10.03 |
---|---|
SuNiNaTaS_22 [WEB] (0) | 2018.10.01 |
SuNiNaTaS_12 [MISC] (0) | 2018.09.19 |
SuNiNaTaS_29 [FORENSIC] (0) | 2018.09.15 |
SuNiNaTaS_16 [SYSTEM] (0) | 2018.09.14 |