이 글이 Android디컴파일을 설명하는 글중 가장 자세히 설명하는게 아닐까 한다. 이 글을 하나하나 따라오면 디컴파일은 5분안에 될거라 생각한다.
다음 사이트에서 원하는 APK파일 다운로드 진행
이 파일은 apk파일 내에 있는 dex파일을 jar파일로 변환시켜주는 파일이다. 만약 이녀석은 안거치고 apk파일을 바로 jar파일로 변경시, class내부 코드를 볼 수 없게 된다.
dex2jar를 안쓰고 디컴파일을 했을때?
하단 사진을 보면 class.dex, class2.dex파일이 보일것이다. 위 파일이 바로 안드로이드 class파일이 뭉쳐있는 파일이다. 위 파일을 class파일로 변환시켜줘야 한다.
dex2jar을 통해 dex파일을 jar파일로 변환시켰다면, 이제 코드를 볼 수 있는 GUI프로그램이 있어야 한다.
dex-tools-2.1버전 기준으로 설명합니다.
dex2jar를 실행시키기 위한 권한을 부여한다.
sudo chmod +x d2j_invoke.sh
이제 본격적으로 apk파일 내에 있는 dex파일을 class파일로 변환한다.
./d2j-dex2jar.sh target.apk
변환 완료된 결과물을 확인한다.
GD-GUI를 킨다.
아까 추출한 target-dex2jar.jar를 위 화면에다 끌어다 놓는다.
위에 보시다시피 android프로젝트 Package까지 잘 나온걸 확인할 수 있다. 이제 이걸 활용해 안드로이드 프로가드가 제대로 적용됐는지 확인할 수 있다.
https://dnight.tistory.com/entry/APKTOOL-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95