Odex & Deodex[오덱스 디오덱스] 명령어 정리

2012.12.23 04:20





 Odex [Deodex] 강좌 #1 오덱스 & 디오덱스란?

 Odex [Deodex] 강좌 #2 [부제 : dex화일 추출]

 Odex [Deodex] 강좌 #3 [부제 : dex화일 수정 및 적용]




Odex & Deodex 명령어 정리





  강좌 #3에서 Deodex를 Odex화 하는 과정에 대한 명령어 정리자료입니다.






위에 과정에서 나오는 Cmd창에서 입력하는 명령어 입니다.



AutoDEOTool은 아래 링크에서 받아주세요


 Odex [Deodex] 강좌 #2 [부제 : dex화일 추출]





다른 버젼의 autoDEOTool은 안 됩니다.






---------------------------------------------------------------------------------------------------------------




그리고 명령어 복사 붙이기는 다 아시죠??





1) 복사해서






2) Cmd 창에 붙이기



---------------------------------------------------------------------------------------------------------------








 강좌 #3에서 사용 된 명령어 다른 오덱작업을 한다면??  






아래 명령어들 보시면 어떤부분을 바꿔야 하는지 쉽게 아실 수 있을꺼예요^^

(공통)은 전체적으로 다 들어가는 명령어입니다.










baksmali로 압축 해제 과정


java -jar [baksmali파일] -x [압축을 풀 deodexing된 jar파일] -o [압축풀릴 폴더이름]




java -jar baksmali-1.4.0.jar -x android.policy.jar -o android.policy

java -jar baksmali-1.4.0.jar -x services.jar -o services

java -jar baksmali-1.4.0.jar -x framework2.jar -o framework2

java -jar baksmali-1.4.0.jar -x framework.jar -o frameworkodex






baksmali로 압축해제된 파일을 smali로 압축


java -jar [smali파일이름] -o classes.dex [폴더 이름]




java -jar smali-1.4.0.jar -o classes.dex android.policy

java -jar smali-1.4.0.jar -o classes.dex services

java -jar smali-1.4.0.jar -o classes.dex framework2

java -jar smali-1.4.0.jar -o classes.dex frameworkodex







adb이용 스마트폰 파일 넣기 작업


adb push [넣을 파일 이름] [경로]



adb push dexopt-wrapper /system/framework   (공통)




adb push android.policy.jar /system/framework

adb push services.jar /system/framework

adb push framework.jar /system/framework

adb push framework2.jar /system/framework





 adb shell 작업이용 스마트폰 리눅스 시스템 영역 접근 


adb shell  (공통)


cd /system/framework (공통)


chmod 777 dexopt-wrapper (공통)



./dexopt-wrapper android.policy.jar a.odex $BOOTCLASSPATH

./dexopt-wrapper  services.jar a.odex $BOOTCLASSPATH

./dexopt-wrapper framework.jar a.odex $BOOTCLASSPATH

./dexopt-wrapper framework2.jar a.odex $BOOTCLASSPATH





 Busybox 명령어 실행 / 각각의 Odex파일에 상응하는 임시 Odex파일 생성 


busybox dd if=/system/framework/[odex파일 이름] of=[임시odex파일이름] bs=1 count=20 skip=52 seek=52 conv=notrunc



busybox dd if=/system/framework/android.policy.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

busybox dd if=/system/framework/services.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

busybox dd if=/system/framework/framework.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

busybox dd if=/system/framework/framework2.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc





 임시 Odex파일 원래의 odex파일에 덮어쓰기 


mv [임시 odex파일] [원본의 odex 파일]



mv a.odex android.policy.odex

mv a.odex services.odex

mv a.odex framework.odex

mv a.odex framework2.odex





 퍼미션 주기 


chmod 644 android.policy.*

chmod 644 services.*

chmod 644 framework.*

chmod 644 framework2.*




 소유자 변경 

chown root.root android.policy.*

chown root.root services.*

chown root.root framework.*

chown root.root framework2.*







reboot












여끼까지 입니다.


#3에서 android.policy.jar을 기준으로 작업해서


다른 화일을 오덱작업하려면


명령어가 틀력서 막혔던 분들을 위한 자료입니다.


다음 시간에는 systemUI.odex / setting.odex 수정 강좌 올려드릴께요











<본 자료는 에테리스는 강좌를 참조하였습니다.>


Odex & Deodex[오덱스 디오덱스] 명령어 정리포스팅을 마치도록 하겠습니다.




azdesign™ ☆ 테마제작관련 ☆/테마제작강좌 , , , , ,



  1. Blog Icon
    Az님팬

    이런걸 어째 다아셨을까요 진짜 감사합니다

  2. Blog Icon
    지나가는 초보자2

    저.. secsettings.apk 디오덱스까지 했는데 ㅠㅠ
    apk manager로 디컴파일하는데 안되네요 ㅠㅠ...
    framwork-res, twframework-res 둘다 연결해주고 하는데 여전히 디컴파일 9번에서
    같은 에러가 나는데 어떻게 해야하나요 ㅠㅠ

  3. Blog Icon
    쿤투

    디오덱스된파일은 apk안에있는 classes.dex를 따로 백업하신후 apk안에있는 classes.dex를 삭제하신뒤 디컴파일하고 작업하신후에 컴파일하시고 classes.dex를 다시 apk속에 집어넣으면 된다고 합니다.

  4. Blog Icon
    진짜 급합니다.

    error; there is no device 라고 뜨는데요.... 어떻하죠?????
    어떻게하면 정상적이게 될까요???

  5. Blog Icon
    .. .

    분명이 컴으로 디오덱스 baksmali와 smali까지했는데요.
    비지박스smartinstall 까지, 루팅 그리고 usb디버깅 까지 다했습니다만
    이방법 말고는 혹시 없나요?

  6. Blog Icon
    .. .

    분명이 컴으로 디오덱스 baksmali와 smali까지했는데요.
    비지박스smartinstall 까지, 루팅 그리고 usb디버깅 까지 다했습니다만
    이방법 말고는 혹시 없나요?

  7. Blog Icon
    .

    저 여기서 system rw로 마운트 하고 dexopt-wrapper copy 명령하니깐 할수 없네요 이유를 보니 마지막에 : permission denied 인가 뜨던데요...........
    빠른 답변 부탁드립니다