R136A1

[ctf-d] 이 편리한 안드로이드... :: apk 본문

FORENSIC/ctf-d

[ctf-d] 이 편리한 안드로이드... :: apk

r136a1x27 2021. 7. 29. 15:24

온라인 디컴파일러

http://www.javadecompilers.com/apk 

 

APK decompiler - decompile Android .apk ✓ ONLINE ✓

 

www.javadecompilers.com

apktool (cmd 디컴파일러)

java -jar apktool_2.5.0.jar d [apk명].apk : 디코딩

java -jar apktool_2.5.0.jar b [디렉터리 경로] : 해당 디렉터리 인코딩(apk로 만들기)

 

그냥 압축해제 했을 때 vs 온라인 디컴파일러 vs apktool

jadx-gui

이클립스 형태로 apk 패키지를 구조화시켜 보여줌(xml, 등...)

 

 

당연히... 127.0.0.1은 localhost이므로 안된다.

android.support = 안드로이드 지원 라이브러리(API)

v4, v7 등의 숫자는 api 버전을 의미한다

또한 아래에 tf.icec.husavik 이라는 폴더가 있는데 이것은 무엇을 의미할까?

 

안드로이드 apk를 프로그래밍할 때는 어플리케이션의 거의 모든 정보가 구조화되어 있는 xml 파일을 보는 것이 중요하다. 아래와 같이 최상위 태그 <manifest>의 속성 중 package="tf.icec.husavik"가 있는데,

다시말해 apk 메인 패키지명이 tf.icec.husavik임을 의미한다.

패키지명을 알았으니, tf.icec.husavik 폴더로 들어가본다.

(안드로이드 지원 라이브러리가 아닌 apk 자체의 Source code 보기)

아까 봤던 127.0.0.1:6464와의 네트워크 연결을 socket으로 다룬 것이 보인다.

b 이하 다른 클래스파일에는 별다른 단서가 없다.

 

https://codedragon.tistory.com/5316 

ObjectOutput 인터페이스를 구현한 클래스로, 객체를 파일에 기록할 수 있다고 한다.

이 클래스의 writeObject는 객체의 데이터를 직렬화 시켜 write하는 메서드

 

이외는 다 뒤져봐도 이렇다 할 단서 없었음. 따라서 Base64로 보이는 데이터를 복호화시켜보자.

ZmxhZ193YWl0X3dhc250X2l0X2RhbHZpawo=

flag_wait_wasnt_it_dalvik

Comments