안드로이드 분석 시 암호화된 DEX 파일이 메모리 상에서 로드될 때 해당 파일을 분석하기 위해 추출 또는 덤프하는 과정이 필요하다.
그렇게 파일을 가져왔지만 기존 APK 파일에 해당 파일이 포함되어 있지 않아JEB
에서xref
하기 어렵다.
이런 상황에 분석하기 좋은 꿀팁 되시겠다.
먼저 기존 APK 파일과 앱 실행 시 복호화된 DEX 파일을 준비했다.
우선 JADX
에서는 두 파일 모두 드래그 앤 드롭으로 옮기면 xref
가 가능하다.
다만 JEB
에서는 두 파일 모두 옮겨도 다른 파일로 인식해서 xref
가 불가능하다.
base.apk
파일의 내용을 살펴본다. classes.dex
부터 classes7.dex
까지 존재한다.
기존에 있던 sec.dex
파일을 classes8.dex
로 변경한 뒤 base.apk
파일에 추가해준다.
JEB
로 다시 열면 xref
가 가능하다.
JADX
를 사용하면 파일명을 변경하지 않아도 xref
가 가능하기 때문에 위 과정이 귀찮다면 JADX
로 분석하면 된다.
다만 나는 정적 분석 시 JADX
가 가독성이 많이 떨어진다고 생각되어서 JEB
를 사용하는데, 팀원 분이 꿀팁을 알려주셔서 앞으로 정적 분석할 때 많은 도움이 될 것 같다.