odex 转 dex ,生成Class,android 反编译[转]
2011-12-31 17:35
417 查看
http://hi.baidu.com/qqxxin/blog/item/d2350e497145b53208f7ef6a.html
odex文件无法直接使用dex2jar进行直接反编译成jar,必须先转为dex,才能继续反编译。
用到的工具baksmali smali (下载地址: http://code.google.com/p/smali/downloads/list) 下载地址:http://code.google.com/p/smali/downloads/list
步骤:
1,分解odex文件 java -jar baksmali-1.2.4.jar -x ../TEST.odex
这时候出现问题:
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.java:237)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:145)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:96)
at org.jf.baksmali.main.main(main.java:278)
这是由于缺少core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件的问题,将framework下的这5个odex文件一并考到同级目录下,在运行命令即可。
其实就算出错了,也会在当前目录下 产生一个 out的目录,可以从其下.smali文件发现一些的线索。
2,生成classes.dex
java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
这时候生成的classes.dex即可进一步反编译
3,xml文件工具AXMLPrinter2.jar
java -jar AXMLPrinter2.jar main.xml >main.txt
4、关于错误:Read-only file system的处理
mount -o remount,rw rootfs /system/
5、反编译java -jar AXMLPrinter2.jar main.xml > main.txt
6、dex2jar.bat classes.dex,生成classes.dex.dex2jar.jar
7、jd-gui.exe打开classes.dex.dex2jar.jar
8、java -jar sign.jar testkey.x509.pem testkey.pk8 nj_signed.apk
http://code.google.com/p/smali/source/checkout
odex文件无法直接使用dex2jar进行直接反编译成jar,必须先转为dex,才能继续反编译。
用到的工具baksmali smali (下载地址: http://code.google.com/p/smali/downloads/list) 下载地址:http://code.google.com/p/smali/downloads/list
步骤:
1,分解odex文件 java -jar baksmali-1.2.4.jar -x ../TEST.odex
这时候出现问题:
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.java:237)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:145)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:96)
at org.jf.baksmali.main.main(main.java:278)
这是由于缺少core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件的问题,将framework下的这5个odex文件一并考到同级目录下,在运行命令即可。
其实就算出错了,也会在当前目录下 产生一个 out的目录,可以从其下.smali文件发现一些的线索。
2,生成classes.dex
java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
这时候生成的classes.dex即可进一步反编译
3,xml文件工具AXMLPrinter2.jar
java -jar AXMLPrinter2.jar main.xml >main.txt
4、关于错误:Read-only file system的处理
mount -o remount,rw rootfs /system/
5、反编译java -jar AXMLPrinter2.jar main.xml > main.txt
6、dex2jar.bat classes.dex,生成classes.dex.dex2jar.jar
7、jd-gui.exe打开classes.dex.dex2jar.jar
8、java -jar sign.jar testkey.x509.pem testkey.pk8 nj_signed.apk
http://code.google.com/p/smali/source/checkout
相关文章推荐
- odex 转 dex ,生成Class,android 反编译
- android apk odex dex反编译
- android apk反编译和odex转dex
- android apk反编译和odex转dex
- android classloader dex odex
- android 反编译(dex 和 odex),非脑残转帖,绝对可靠
- android 反编译 方法大全(classex.dex转java,odex转classex.dex,system.img解压等等)
- android apk反编译和odex转dex
- android apk反编译和odex转dex
- odex反编译dex异常 Cannot locate boot class path file /system/framework/core.odex
- android 反编译(dex 和 odex),非脑残转帖,绝对可靠
- odex反编译dex异常 Cannot locate boot class path file /system/framework/core.odex
- android apk反编译和odex转dex
- android 反编译 odex 转 dex
- android apk反编译和odex转dex
- Android apk dex odex smali 反编译、回编译、签名
- Android odex反编译为dex
- Android apk反编译和odex转dex
- android apk反编译和odex转dex
- android 反编译 方法大全(classex.dex转java,odex转classex.dex,system.img解压等等)