인시큐어뱅크 앱을 이용해서 순서대로 디컴파일링하며 apk파일의 구조를 파악할거임.
[Summary]
대애충 오늘 해볼 것
1. apk -> dex+리소스+권한 파일로 변환
apk 파일 zip파일로 변환해서 확인
압축 풀어보면 순서대로 권한, 리소스 dex파일 확인 가능
하지만 xml파일 열어보면 제대로 디컴파일링 한 게 아니기 때문에 부분부분 깨져있는 것 확인 가능
2. apk파일 -> smali 변환
apktool로 apk파일 디컴파일
apktool설치방법은 아래 포스팅 참고
[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]
'보안 > Android 취약점 진단' 카테고리의 다른 글
[에러] adb.exe: no devices/emulators found 해결 (0) | 2024.09.19 |
---|---|
[DIVA] 모바일 취약점 진단 2. HARDCODING ISSUES - PART 1 (0) | 2024.09.12 |
[DIVA] 모바일 취약점 진단 1. INSECURE LOGGING (1) | 2024.09.11 |
[안드로이드 모바일 취약점 진단] 인시큐어뱅크 앱 진단_하드코드된 중요정보1 (0) | 2024.05.23 |
[안드로이드 모바일 취약점 진단] 환경 구축 (0) | 2024.05.23 |