[출처] : http://dwfox.tistory.com/43
[Android] APK 파일 추출 / 디컴파일 / 분석 하기
APK파일 추출하기
인스톨한 프로젝트의 apk 패키지 이름이 com.tistory.dwfox.dwfoxtest 일경우
C:\>adb shell
shell@dwfox:/ $ pm list packages -f
※ command line에서 바로 adb shell pm list packages -f 한줄의 명령어로 해도 된다.
아래와 같은 형태로 설치된 리스트가 나오게된다.
package:[apk위치]=[패키지명]
※ 커맨드의 찾기 옵션을 이용하여 원하는 패키지 명을 검색하면 아래와 같이 쉽게 찾아 낼 수 있다.
파일 위치를 복사해서 아래와 같은 명령어를 통해 apk 파일을 현재의 경로에 가져오게 된다.
adb pull /data/app/com.tistory.dwfox.dwfoxtest-1/base.apk .
APK파일 디컴파일
1 아래의 파일 을 먼저 준비한다.
dex2jar : apk의 dex 압축형태를 jar 파일로 변환해주는 툴
다운로드 링크 : https://github.com/pxb1988/dex2jar
jd-gui : jar형태의 파일을 소스파일로 볼 수 있는 GUI 툴
2 dex2jar의 압출을 해제한 경로에 apk 파일을 복사하고 아래와 같은 d2j-dex2jar.bat base.apk 명령어를 실행한다.
C:\dex2jar-2.0>d2j-dex2jar.bat base.apk
dex2jar base.apk -> .\base-dex2jar.jar
base-dex2jar.jar 파일이 생성된다.
3 이 파일(base-dex2jar.jar)을 jd-gui를 실행시켜 열어보면 apk의 java파일에 대한 소스를 볼 수 있게 된다.
출처: http://dwfox.tistory.com/43 [DWFOX]
'Programming > Android' 카테고리의 다른 글
NDK를 사용하지 않고 C source build (0) | 2018.06.27 |
---|---|
Neverallow 관련 sepolicy 처리 방법 (0) | 2017.08.25 |
ffmpeg 3.2.2 with NDK build (0) | 2017.08.10 |
Android studio 2.2에서 NDK 적용하기 (0) | 2017.08.09 |
UI 없이 service를 broadcast 수신 받아 띄위기 (0) | 2017.04.27 |