HOME
home
CV News
home

[Android] DEX TO jar

속성
MOBILE
날짜
모바일 분석을 진행하다 보면 apk파일을 쉽게 디컴파일할 수 없게 multidex와 같은 형태로
만들어 배포하는 경우가 있다.
위 그림과 같이 apk 파일을 디컴파일하려고 하면 로드하지 못하였다는 에러가 발생한다.
가장먼저 해볼 수 있는 방법으로 dex2jar를 설치하고 apk파일 안에 있는 dex파일을 jar형태로 변환하여 분석하는 방법이 있다.
d2j-dex2jar classes3.dex
위 명령 수행 시 처음 이미지에서 보는것과 같이 jar파일로 변환되며 jadx-gui로 분석할 수 있게 된다.
하지만 이 방법으로도 디컴파일이 되지 않는 경우 Dalvik 머신에서 돌아가는 odex파일을 추출해 변환하면 된다.
odex → smali → dex → jar
먼저 oat2dex 에서 baksmali와 smali를 다운로드 받는다.
다음 분석할 대상 앱의 oat경로에서 odex, vdex 파일을 추출한다.
/data/app/[com.test.co]/oat
java -jar baksmali-2.5.2.jar d base.odex -o ./test
odex 파일을 먼저 test폴더에 스말리코드로 추출한다.
이때 vdex 파일이 없으면 정상적으로 추출되지 않는 경우가 발생할 수 있다.