사실 그렇게 건전(?)한 짓은 아니다. 완제품을 뜯어보고 어떻게 만들었나 들여다보는 짓이라고 할 수 있다.

자바가 아무래도 머신 위에서 돌아가서 그런지 역공학 하기가 타 언어에 비해 비교적 쉬운 모양.

가끔 디컴파일을 해야할 때가 있어서 메모용으로 기록하는 글이라 정성은 좀 부족할지도 모른다.


1. APK 파일 추출

탐색기 앱 등이 보통 앱 백업 기능을 지원하는데 이를 이용하여서 컴퓨터로 옮겨도 되고, 구글링해서 추출하는 사이트를 통해 받아도 된다.

후자는 에러가 꽤 많이 나는 편이고, 페이지 내 낚시성 광고가 많아서 좀 그렇다.


2. Dex2Jar 다운로드

소스포지 통해서 최신버전을 받으면 된다. apk 파일이 있는 곳에 압축을 풀자.

탐색기에서 쉬프트(컨트롤인가...) 오른쪽 클릭을 하면 명령창을 해당 위치에서 바로 열 수 있다.

그대로 배치 파일 입력 -> 파라미터로 해당 apk파일명을 적으면 jar 파일이 뿅 하고 나온다.

이 때 유의해야할 부분은 경로 상에 '공백'이 있으면 에러가 발생한다는 점. 제대로 적었는데 에러가 나온다면 대부분 경로, 파일명 문제인 것 같다.


3. DECOMPILE!

자바 디컴파일러 아무거나 받아서 jar 파일을 열면 된다. 보통 jd gui를 사용하게 된다.

간혹, 소스가 보이지 않는 경우가 생기는데, 그 부분을 꼭 봐야겠다!면 해결방법은 간단하다.

디컴파일러를 다른걸 쓰면 된다 -_-

http://www.javadecompilers.com/ <- 온라인으로 디컴파일해주는 사이트이다. 파일로 저장도 가능.

+ Recent posts