odex 转 dex
Android 2010-10-09 13:54:58 阅读737 评论0 字号:大中小 订阅
odex文件无法直接使用dex2jar进行直接反编译成jar,必须先转为dex,才能继续反编译。
用到的工具baksmali smali
下载地址: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文件一并考到同级目录下,在运行命令即可。
2,生成classes.dex
java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
这时候生成的classes.dex即可进一步反编译
Android 2010-10-09 13:54:58 阅读737 评论0 字号:大中小 订阅
odex文件无法直接使用dex2jar进行直接反编译成jar,必须先转为dex,才能继续反编译。
用到的工具baksmali smali
下载地址: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文件一并考到同级目录下,在运行命令即可。
2,生成classes.dex
java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
这时候生成的classes.dex即可进一步反编译