1. 준비물
(아래 소개한 프로그램들은 같은 기능을 하는 다른 프로그램을 써도 됨).
- APK Extracter
- Play스토어에서 검색하면 많이 나옴.
- DJ(Java Decompiler) GUI
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 이런식으로 바꿔주는 형태).
'bring/steal' 카테고리의 다른 글
smali 언어 체험 (3) | 2013.01.30 |
---|---|
안드로이드 apk 디컴파일(Decompile) 후 다시 컴파일(Recompile) / 소스수정 (12) | 2013.01.29 |
안드로이드 apk 디컴파일(Decompile) / 소스보기 (21) | 2013.01.15 |
소프트웨어 만들 때 쓰는 시간.. (4) | 2012.04.20 |
JOB INTERVIEW QUESTIONNAIRE (0) | 2012.04.17 |
Java (J2SE 5.0) and C# Comparison (0) | 2009.03.16 |
댓글을 달아 주세요
님.dex2jar 를 이용해서 dex 파일을 jar 파일로 변경하자 있잖아요.. 근데 자꾸 커멘드가 튕겨요./
아! 됫네요. 다른거 클릭했었나 봐요,,
안되!!!!대체 왜 dex2jar 연결이 안되는거죠/////? 다른파일은 잘만되는데//////////
글쎄요;;
비밀댓글입니다
패키지명 경로안으로 들어가면 R.java 파일이 있습니다. 그 파일에 변수명(리소스 아이디)이 숫자(int)로 매핑되어있습니다. 그걸로 보시면 됩니다.
비밀댓글입니다
프로가드로 되어있는 경우는 사실상 코드를 보기 힘들 것 같은데요;
저도 프로가드로 되어있는 코드는 안봐서 잘 모르겠네용 @_@
감사합니다
비밀댓글입니다
jar 파일을 이클립스에서도 보실려면 플러그인을 설치하셔야 되요.
https://www.google.co.kr/search?q=jd+eclipse
참고하세용..
classes.dex 파일을 dex2jar.bat 가 있는 폴더 안으로 가져온 다음에 dex2jar classes.dex 하세요
그러면 된답니당
환경변수 추가하면되요
dex2jar 폴더에 calsses.dex 파일을 옴겨놓구 cmd에서 dex2jar classes.dex 이걸치면
자바 내부 또는 외부 명령 , 실행할 수 있는 프로그램 또는 배치 파일이 아닙니다라는데 왜그러는거죠??
환경변수 시스템 변수 편집에서 PATH도 C:\Users\Administrator\Downloads\dex2jar-0.0.9.15\dex2jar-0.0.9.15 이걸로 바꿨는데;
dex2jar 이파일 실행하자마자 까만 창 나타나고 아무 일도 안 일어나네요 ㄷㄷ 뭐가 문제일까욛ㄷㄷ
감사합니다. :)
dex파일을 dex2jar.bat 가 있는 파일에 넣고
dex2jar.bat를 실행시켰는데 커맨드가 팅기네요 왜그럴까요...
비밀댓글입니다
비밀댓글입니다
맥은 어떻게 하나요?
아ㅜㅜ 살았다 감사합니다 감사합니다 감사합니듀ㅠㅏㅠㅠㅠㅠ