Self-Improvement

apk 파일 추출 및 디컴파일(번외 메인 엑티비트 찾는법) 본문

AOS

apk 파일 추출 및 디컴파일(번외 메인 엑티비트 찾는법)

JoGeun 2018. 11. 20. 10:59

*apk 추출 및 디컴파일

먼저 추출할 어플이 있는 핸드폰을 PC와 연결을 시켜줍니다(디버깅 모드도 On)


Kali에서 핸드폰이 연결이 되어졌는지 확인해줍니다.

adb devices


연결히 무사히 되었으면 접근을 해줍니다.

adb shell


추출할 어플을 검색해줍니다.

pm list packages -f | grep <검색>



확인된 패키지 경로를 복사하고 

adb pull <패키지 경로/base.apk> <추출이름.apk>


apktool d test.apk 을 통해 AndroidManifest.xml 파일을 볼 수 있다.


그외의 파일은 smali 파일로 구성되어있다.

smali이란 안드로이드 실행 바이너리 코드를 사람이 쉽게 읽을 수 있도록 변형된 어셈블리어이다.


이제는 smali파일이 아닌 자바코드로 보기위해서 아래의 명령어를 진행한다.

dex2jar 명령어를 통해 기존의 apk툴을 jar파일 형식으로 변경해준다.

dex2jar test.apk을 해준다.

※apk 파일을 zip파일로 변형후에 압축풀고 classes.dex파일을 dex2jar 툴로 돌려도 상관이 없다.


생성된 test_dex2jar.jar을 JD-gui 툴로 열게되면 안의 자바코드들을 볼 수 있다.



*메인 엑티비티(Main Activity)를 찾는법

apktool을 통해 추출된 파일중에서 AndroidManifest.xml의 내용에서 

<activity></activity> 태그로 감싸져 있으면서 그안에 <category> 태그가 있는 부분을 찾은 뒤 activity 태그의 name 부분을 보게 되면 된다.


'AOS' 카테고리의 다른 글

안드로이드 앱 메모리 덤프 방법  (0) 2019.06.25
ES 파일 탐색기 취약점(59777), PoC, 해킹  (0) 2019.01.18
루팅 탐지 및 우회  (2) 2018.10.22
사용자 정보 목록화 이슈  (0) 2018.10.22
인자 전달값 조작  (0) 2018.10.22