마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

classes.dex 분석

0 추천
스마트폰 외부저장소에 있는 .apk 파일을 unzip 해서

classes.dex 를 분석하려고 합니다.

file함수를 이용하여 classes.dex 값을 read 하여 buffer값에 저장하여

특정 문자열을 getBytes로 받아와 classesdex.contains(str)로해서 비교가 가능 할까요 ?
cansus (200 포인트) 님이 2014년 6월 5일 질문

1개의 답변

+1 추천
가능은 할 듯 한데.   classes.dex 사이즈가 클수도 있는데. 메모리로 올리는건 오버입니다.

보통은  apk자체를 해쉬해서 비교하기도 하지만.,

가급적이면 , 서명 값(http://jo.centis1504.net/?p=1503)을 비교 하는 것을 추천합니다.
사악미소 (65,330 포인트) 님이 2014년 6월 5일 답변
안녕하세요 좋은 답변 감사합니다.
꼭 dex 안에 스트링값만 이용해서 비교할려는데 방법이 없을까요?
classes.dex를 HexEdit로 확인하면
dex 헤더에 String만 관련되어 string이 저장되어있는 시작주소랑 총문자 갯수를 알수있는데
string 값 시작 주소부터 문자 끝나는 주소까지만 추출해서 특정문자와 비교할려는데
string 값이 10만개가 넘어버리니... 힘들더라구요
서명값 비교 부분은 META-INF에 잇는 MANIFEST.MF를 이용해서
SHA1-Diget값을 이용하고있어서...
classes.dex에 잇는 방대한 문자열 값만 비교해서 할 수 잇는 방법이 없을까요?
...