728x90

apk 파일을 디컴파일을 해보고 싶은 마음이 생겼습니다.

개발할 어플이 있는데 좀 롤모델이 될만한 어플이 있어

한번 내부를 들여다 보고 싶었기 때문이죠

그래서 방법을 공유합니다.

일단 완전하게 빼낼수는 없는점 참고하세요

 

1. PC 상에서 디컴파일 하는 방법

pc 상에서 apk 파일을 가지고 디컴파일을 할수 있습니다.

우선 apk 파일을 빼내야 합니다.

apk 파일을 빼내는건 아주 쉽습니다.

구글 플레이에서 많은 어플들이 있는데요

그중에서도 난 아래 어플을 많이 사용하고 있습니다.

'앱 추출' 이라는 어플입니다.

사용방법은 너무 간단해서 따로 설명하지는 않겠습니다.

뺴낸 apk 파일을 컴퓨터로 옮깁니다.

이제 작업할 프로그램을 다운 받습니다.

경로가서 다운받아도 되고 첨부로 받아도 됩니다.

 

dex2jar : https://code.google.com/p/dex2jar/ => dex 파일을 jar 파일로 변환해주는 툴입니다

dex2jar.zip

 

 

JD-GUI : http://jd.benow.ca/ =>  java 디컴파일 툴입니다.

jd-gui-0.3.6.windows.zip

 

이제 준비는 완료

dex2jar 파일압축을 풀고 cmd 창을 열어 해당 경로로 이동합니다.

그리고 아래 처럼 명령어를 날립니다. remote 는 apk 파일 명칭입니다.

dex2jar.bat remote.apk

아 위명령어는 옛날버전이군요.. 다시 날립니다.

d2j-dex2jar remote.apk

작업이 끝나면 폴더에 아래처럼 jar 파일이 생성됩니다.

이제 jar 파일을 JD-GUI 툴로 보면됩니다.

jd-gui.exe 를 실행하고

jar 파일을 엽니다.

흠.. 역시 어플 만드는 사람들이 바보가 아니라서 디컴파일해도 알수없도록 되어있네요

하지만 내부 소스는 그대로 보이긴합니다. 참고용으로는 사용이 가능합니다. ^^

 

2. 핸드폰으로 어플을 통해 디컴파일 하는 방법

전 이 방법이 제일 편한것 같습니다.

apk 파일을 뺴낼필요가 없습니다. 그냥 어플만 다운받고 설치된 어플 중에 하나를 선택하면됩니다.

Show Java 라는 어플을 다운받습니다.

실행합니다.

전 지금 디컴파일 한게 많아서 그런데 최초에는 아무것도 없습니다.

오른쪽 하단의 + 버튼을 눌러  Pick from Installed 를 선택합니다.

그러면 설치된 어플을 쭉 찾아서 보여줍니다.

디컴파일 하고자 하는 어플을 선택합니다.

아래처럼 어떤 디컴파일러를 쓸꺼냐고 물어봅니다.

전 JeDX 0.6.1 을 자주 사용합니다.

선택하고 나면 아래처럼 나타나면서 디컴파일을 진행합니다.

디컴파일이 완료되었습니다.

위 PC 로 진행한것 보다 더 보기가 편한것 같습니다.

그런데 이걸 핸드폰으로 보면 의미가 없겠죠

상단의 공유 모양 버튼을 클릭합니다.

그러면 아래 그림처럼 열심히 공유하기 위한 준비를 합니다.

아마도 압축을 하는것 같습니다.

아래처럼 이제 공유하고자 하는 곳을 선택하게되면 디컴파일한 결과가 압축되어 전달됩니다.

그럼 PC 에서 해당 파일을 압축을 풀어서 보면 됩니다.

정말... 쉽습니다...

728x90
Posted by kjun.kr
,