사실 그렇게 건전(?)한 짓은 아니다. 완제품을 뜯어보고 어떻게 만들었나 들여다보는 짓이라고 할 수 있다.
자바가 아무래도 머신 위에서 돌아가서 그런지 역공학 하기가 타 언어에 비해 비교적 쉬운 모양.
가끔 디컴파일을 해야할 때가 있어서 메모용으로 기록하는 글이라 정성은 좀 부족할지도 모른다.
1. APK 파일 추출
탐색기 앱 등이 보통 앱 백업 기능을 지원하는데 이를 이용하여서 컴퓨터로 옮겨도 되고, 구글링해서 추출하는 사이트를 통해 받아도 된다.
후자는 에러가 꽤 많이 나는 편이고, 페이지 내 낚시성 광고가 많아서 좀 그렇다.
2. Dex2Jar 다운로드
소스포지 통해서 최신버전을 받으면 된다. apk 파일이 있는 곳에 압축을 풀자.
탐색기에서 쉬프트(컨트롤인가...) 오른쪽 클릭을 하면 명령창을 해당 위치에서 바로 열 수 있다.
그대로 배치 파일 입력 -> 파라미터로 해당 apk파일명을 적으면 jar 파일이 뿅 하고 나온다.
이 때 유의해야할 부분은 경로 상에 '공백'이 있으면 에러가 발생한다는 점. 제대로 적었는데 에러가 나온다면 대부분 경로, 파일명 문제인 것 같다.
3. DECOMPILE!
자바 디컴파일러 아무거나 받아서 jar 파일을 열면 된다. 보통 jd gui를 사용하게 된다.
간혹, 소스가 보이지 않는 경우가 생기는데, 그 부분을 꼭 봐야겠다!면 해결방법은 간단하다.
디컴파일러를 다른걸 쓰면 된다 -_-
http://www.javadecompilers.com/ <- 온라인으로 디컴파일해주는 사이트이다. 파일로 저장도 가능.
'Programming > Android' 카테고리의 다른 글
[Android] Button 기본적인 조작, Toast 띄우기, Activity 전환 (2) | 2014.12.29 |
---|