본문 바로가기
보안/Android 취약점 진단

[안드로이드 모바일 취약점 진단] apk 파일 디컴파일 해보기

by noootella 2024. 5. 25.
반응형

 

인시큐어뱅크 앱을 이용해서 순서대로 디컴파일링하며 apk파일의 구조를 파악할거임.


 

[Summary]

대애충 오늘 해볼 것


1. apk -> dex+리소스+권한 파일로 변환

apk 파일 zip파일로 변환해서 확인

 

압축 풀어보면 순서대로 권한, 리소스 dex파일 확인 가능

하지만 xml파일 열어보면 제대로 디컴파일링 한 게 아니기 때문에 부분부분 깨져있는 것 확인 가능


2. apk파일 -> smali 변환

apktool로 apk파일 디컴파일

 

 

apktool설치방법은 아래 포스팅 참고

https://itpop.tistory.com/37 

 

[Apktool] 안드로이드 어플리케이션 Tool 개념 및 설치방법

Apktool?안드로이드 애플리케이션 대상의 리버스 엔지니어링 도구APK파일을 분석해서 리소스를 디코딩할 수 있고, 코드를 수정해서 재빌드할 수도 있음 https://apktool.org/ Apktool | ApktoolA tool for revers

itpop.tistory.com

 

 

 

좌: zip파일 압축풀었을 때

우: apktool로 디컴파일했을때

 

역시 디컴파일 툴로 분석했을 때 smali폴더도 생기고 다른걸 볼 수 있음.

 

그냥 zip압축 풀었을 때는 코드가 다 깨져보이는데 분석도구인 apktool이용했을때는 코드가 잘 보이는 것 확인 가능

 


3. apk -> class 파일 변환

dex2jar 배치파일 이용

d2j-dex2jar.bat apk파일 경로

 

apk파일 jar파일로 변환 완료

jar파일은 그냥 압축파일이라서 마우스 우클릭하고 압축 풀어주면 됨

class파일들 생성된 것 확인 가능

하지만 얘도 완벽하게 변환X

 


4. apk -> java로 변환

 

아주 쉽게 jadx gui 툴으로 디컴파일 완료.

 

bytecode-viewer도 동일하게 디컴파일 완료.

 

jadx랑 bytecode viewer 둘다 이용하면 좋음

 


[Review]

여기까지 apk 파일 코드 구조분석을 완료하였습니다.

 

사실 그냥 코드 분석하려면 jadx 툴 다운받아서 apk파일 불러오면 끝입니다만, 한번쯤은 apk라는 파일의 구조가 어떻게 컴파일 되어있는지 확인하기 좋은 것 같습니다.

한번씩 해보시길..

 


[Refer]

https://inf.run/uuQ3

 

반응형