2010.07.06 12:11


마켓에서 다운로드 받은 프로그램을 소스영역까지 복원하려고 한다.
프로그램의 임의적  변경, 사용, 배포는 개인에게 책임이 있음을 알려둔다.
소스복원은 100% 완벽하지 않다. 개발자의 역량에 따라 달라 질 수 있다.
 노가다 작업임이 분명하고, 시간 많이 걸릴 수 있다.

드로이드 apk 추출
안드로이드 가상머신 버전 1.5 생성.


핸드폰 바탕에 마켓 어플에서 목적 프로그램 다운로드


안드로이드 file explorer 에서 apk 추출

1 .apk 파일 압축 풀기
class 파일은 압축되어 classes.dex 로 존재한다.
dex -> jar 변경후  jar 파일을 압축 해제 한다.  변경 방법은 아래와 같다. 확장자만 바꾸는건 아닙니다. ㅡ.ㅡ;;

사용법
현제 작업 중인 폴더 아래에 ./gen 폴더를 만든다
java -DASDKLoc=.  -jar undx.jar classes.dex
작업 폴더에서 위와 같이 수행하면 ./gen 폴더에 classes.dex.dump, classes.jar 파일 생성됨


2. class 피일을 java 파일로 변환
사용법 :
jad -sjava java *


3. apk 내에 있는 압축된 xml 을 읽을 수 있게 다시 원복한다 

 사용법 :
java -jar AXMLPrinter2.jar p1220_symbol_sip.xml > p1220_symbol_sip.txt


마지막으로
복원 java 와 원본 java 소스 비교해 보자

복원 DataUtil.java


원본 DataUtil.java




신고

'V > android' 카테고리의 다른 글

안드로이드 apk decompile  (39) 2010.07.06
샘플로 배우는 안드로이드  (1) 2010.05.06
안드로이드 샘플  (0) 2010.05.06
the time  (0) 2010.04.26
keytool  (1) 2010.03.24
Posted by 길동 필명 수식어 덕소 큰아들

티스토리 툴바