android apk反編譯和odex轉dex


大家好,這里介紹apk反編譯操作。

1:apk反編譯

2:odex轉dex

 

操作環境:ubuntu

 

A:apk反編譯

.到code.google上下載apktool.jar以及相關文件:http://code.google.com/p/android-apktool/downloads/list
點擊下載apktool-1.0.0.tar.bz2 和apktool-install-linux-2.1_r01-1.zip


Apktool 命令
./apktool d geek.apk test    反編譯 geek.apk到文件夾test

 

 

B:odex轉dex

http://code.google.com/p/smali/downloads/list

下載下面4個文件。

現在我們要對CardManager.odex進行反編譯,以CardManager.odex為例。

1:java -jar baksmali-1.3.2.jar -a 12 -x CardManager.odex    

//注意:這里要有core.jar:ext.jar:framework.jar:android.policy.jar:services.jar文件支持。這個 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services.jar和對應的.odex文件,把這些文件放在CardManager.odex同一級目錄。

運行java -jar baksmali-1.3.2.jar -a 12 -x CardManager.odex   ,會生成一個out文件夾,里面的文件以.smali結尾,

 

2:生成 classes.dex文件

運行 java -jar smali-1.3.2.jar out/ -o classes.dex

 

3:下載 dex2jar : dex2jar-0.0.9.8.zip

http://code.google.com/p/dex2jar/downloads/list

解壓 tar -xzvf dex2jar-0.0.9.8.tar.gz

 

生成classes_dex2jar.jar文件

dex2jar-0.0.9.8$ ./dex2jar.sh ../Test_HW_ODEX/classes.dex

wanqi@wanqi-System-Product-Name:~/Downloads/dex2jar-0.0.9.8$ ./dex2jar.sh ../Test_HW_ODEX/classes.dex
dex2jar version: translator-0.0.9.8
dex2jar ../Test_HW_ODEX/classes.dex -> ../Test_HW_ODEX/classes_dex2jar.jar

 

4:運行jd-gui-0.3.2.linux.i686,打開classes_dex2jar.jar。就ok了。

 

 

 

反編譯framework.odex 

java -Xmx512m -jar baksmali-1.3.2.jar --api-level 12 -c:core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -d framework/ -x framework.odex 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM