본문 바로가기
IT

[안드로이드] 안드로이드 APK 디컴파일. (Apk Studio decompile)

by MadebyAn 2023. 3. 28.
반응형

안녕하세요.

오늘은 안드로이드 앱을 디컴파일 하는 것에 대해서 작성해볼까합니다.

안드로이드와 같이 Virture Machine(VM)환경에서 동작되는 프로그램들은 디컴파일(Decompile)이 용이하다는 특징이 있습니다. 자바를 이용해서 안드로이드 앱을 개발할 경우, 컴파일하면 *.java -> *.class ->*.dex 순으로 컴파일이 됩니다. 이를 거꾸로 dex파일을 class파일로 변환해주고, 또 java 파일로 변환해주면 원본 소스가 어느정도 복원이 됩니다. 

 

잘만들어진 앱을 보면 이 앱에 대한 코드 정보가 궁금할 때가 있곤하는데요. 그때, 정확하게 모든 코드를 알수는 없지만

전체적인 구성이 어떠한 형태로 되었는지에 대한 정보를 얻을 수 있는 방법으로 디컴파일을 사용하기도 합니다. 말그대로 코딩에 대한 전반적인 학습이 되어 있을 때나 가능한 것이고, 디컴파일을 하고 볼 수 있는 코드들도 많이 변형이 되어서 있기 때문에 어설프게 아시는 분들은 시간 낭비일 수 있으니, 이 점 유념해주시기 바랍니다.

 

 

1. 준비 (필요한 프로그램 Download)

① APK Studio

- 무료로 제공되는 툴들을 엮어서 Apk 디컴파일을 할 수 있도록 해주는 프로그램.

- 다운로드 링크 : https://github.com/vaibhavpandeyvpz/apkstudio/releases

 

Releases · vaibhavpandeyvpz/apkstudio

Open-source, cross platform Qt based IDE for reverse-engineering Android application packages. - vaibhavpandeyvpz/apkstudio

github.com

-  다운로드 후 압축을 푼 후에 실행을 시키면 첫 설정을 하는 화면이 나옵니다.

- 다운 받은 프로그램들이 있다면 Browse 버튼을 눌러서 연결을 시켜주면 되고, 만약 다운 받은 것이 없다면 Get it here!을 클릭하여 다운로드 받은 후 연결을 시켜주면 됩니다.

- java 같은 경우, 다운로드 후 환경설정이 되어 있다면 프로그램 실행이 되면 자동으로 연결시켜 줍니다.

 

 

② 필요한 APK 파일 다운로드.

- 필요한 APK 파일은 안드로이드 기기에서 백업 받은 후에 PC로 옮기는 방법도 있기는 하지만, 매우 번거롭고 초보들에게는 상당히 어렵게 느껴질 수 있으므로, PC에서 바로 다운로드 받을 수 있는 곳에서 받는 것이 좋습니다.

- 다운로드 링크 : https://apkpure.com/kr/

- 필요한 파일을 검색을 통해 다운로드 받을 수 있습니다.

 

2. 실행.

- 안드로이드 아이콘을 클릭한 후 다운로드 받은 APK 파일을 넣어주시면 

다음과 같이 디컴파일 smali, resources, java를 체크하는 체크박스가 나옵니다. 모두 체크하시고 Decompile을 클릭하면 됩니다.

디컴파일이 진행되고 있으며, 100%가 되기를 기다리시면 됩니다.

디컴파일이 모두 진행이 되면 다음과 같이 Projects에 디렉토리들이 생성이 됩니다.

소스코드들이 나오면 해당 APK의 소스들을 확인할 수 있습니다. 해당 코드는 디컴파일러가 일종의 유추를 한 것이므로 분석용도로만 사용하는 것이 좋습니다.

반응형

댓글


loading