본문 바로가기

해킹-보안

frida dex 파일 추출

반응형
Dex 파일은 APP 소스코드가 존재하므로 이를 숨기기 위해 소스가 로딩되고나서 Dex 파일을 삭제 하거나 위장된 파일을 보여주기도 한다. 원본 Dex 파일을 추출해야 정상적으로 앱 분석이 가능하다.

앱 pid 확인

 
> adb shell
> ps -ef | grep appname

삭제되는 dex 파일 확인

 
> cat /proc/앱pid/maps | grep appname

dex 파일 추출

dex 파일을 삭제하는 함수에 후킹 코드를 작성하여 앱 추출


// frida dex 파일 경로 확인 예시코드
 Interceptor.attach(Module.findExportByName(null, 'unlink'), {
 	onEnter(args) {
 		this.path = args[0].readCString();
 		if (/dex/i.test(this.path) ){
 			console.log('unlink : ',this.path);
 			args[0].writeUtf8String('replace_path');
 			console.log('unlink : ',args[0].readCString());
 		}
 	}
 })

* dex 파일을 /data/local/tmp로 이동 후 권한부여하여 adbpull로 추출
* vdex인 경우 vdexExtractor를 통해 dex 파일로 변환
bin/vdexExtractor -i /tmp/BasicDreams.vdex -o /tmp --deps -f












반응형