2013. 1. 15. 18:47

1. 준비물

(아래 소개한 프로그램들은 같은 기능을 하는 다른 프로그램을 써도 됨).

  • APK Extracter
    • Play스토어에서 검색하면 많이 나옴.

BANDIZIP-PORTABLE.ZIP

jd-gui-0.3.5.windows.zip


~업데이트 추가~


윈도우용 0.3.6 버전

jd-gui-0.3.6.windows.zip


맥용 0.3.5 버전

jd-gui-0.3.5.osx.i686.dmg


2. 방법


2.1 APK 파일을 받자.

APK 파일 추출기로 받으삼. 참고로 필자는 "MN 앱 관리"라는 국산 제품을 사용했음. 그 프로그램에서는 앱을 길게 누르면 뜨는 메뉴에서 "설치파일 보내기" 누르면 컴퓨터로 옮길 수 있었음.


2.2. PC로 옮긴 APK 파일을 반디집으로 풀자.

아래는 다음앱의 예. 코드는 classes.dex 파일에 있다.




2.3 dex 파일을 jar 파일로 변경하자.

dex2jar 를 이용해서 dex 파일을 jar 파일로 변경하자. 커맨드는 dex2jar classes.dex




2.4 jar 파일을 decompile 해서 소스를 보자.

필자의 경우 JD-GUI 를 이용하였다. 이건 머 jar 를 푼 이후에 class 파일을 디컴파일해도 되고 알아서. JD-GUI 는 jar 파일을 열면 바로 소스가 이렇게 보임. 끗~!





ps. 요새는 decompile 을 방지하기 위해 소스를 꼬아주는 솔루션도 있고 하니 이렇게 깨끗하게 잘 안나오는 경우도 있음(주로 클래스명, 변수명등을 A,B,C 이런식으로 바꿔주는 형태).


Posted by 아즈키