今天给各位分享ODex反编译技术全面解析的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
斯马利/巴克斯马利
baksmali-xxx.jar 将odex转换为smali文件(如果有兴趣可以了解smali语法)
smali-xxx.jar 将smali 文件打包成dex 文件dex2jar
dex2jar 是一个Java 反编译器,可将dex 文件转换为jar
该工具将jar 中的类转换为java 文件。当然,你也可以直接使用jd-gui程序打开classes.jar而不进行转换来查看内容。这里下载的smali版本是baksmali-2.1.3.jar和smali-2.1.3.jar,不同版本的使用方法类似。
要开始工作,我们首先创建一个工作目录。我这里创建了一个deodex目录,然后把所有相关的工具都放在里面。因为反编译odex需要依赖/system/framework目录下的一些东西,所以这里我直接放了整个framewrok目录。拔出
$ mkdir 解毒器
$ cd 解毒器
$ adb pull /系统/框架。当然,这一步不是必须的。如果反编译过程中没有报缺少依赖文件的错误,则不需要。
然后从系统目录中拉取一个程序的odex,如下
$ adb pull /system/app/LeEcoCircle/oat/arm/LeEcoCircle.odex。目录结构如下(mac下使用tree命令生成目录结构,安装:brew install tree,然后在当前目录执行tree)
解毒酶
乐生态圈.odex
baksmali-2.1.3.jar
dex2jar-2.0
.
框架
.
jd-gui-osx-1.4.0
.
smali-2.1.3.jar 接下来开始反编译,首先使用以下命令
$ java -jar baksmali-2.1.3.jar -x LeEcoCircle.odex -x 参数为指定的odex文件
上面的命令通常会报错
加载引导类路径文件时发生错误。正在流产。
org.jf.util.ExceptionWithContext: 无法找到引导类路径文件/system/framework/core.jar
.意味着:找不到/system/framework/core.jar。该jar 位于/system/framework/arm/boot.oat 中。当然,boot.oat不仅包含core.jar,还包含framework.jar。 core-libart.jar和一系列jar,所以我们改变命令
$ java -jar baksmali-2.1.3.jar -x LeEcoCircle.odex -d Framework/arm/-c Framework/arm/boot.oat -d 参数指定bootclasspath要搜索的目录。如果不加该参数,则默认为当前目录。
-c参数指定bootclasspath中具体的jar/oat文件
此时命令不会报Aborting错误,可能会出现一些异常,有些函数无法解析,但是odex反编译仍然可以成功完成,生成的smali文件放在当前目录的out目录下。
下一步是使用以下命令将smali 文件打包到dex 中
$ java -jar smali-2.1.3.jar out -o classes.dex 会在当前目录生成classes.dex文件,然后执行以下命令反编译dex文件
$ cp 类.dex dex2jar-2.0
$ cd dex2jar-2.0
$ ./dex2jar.shclasses.dex完成后,会在dex2jar-2.0目录下生成classes-dex2jar.jar。然后就可以使用jd-gui打开它,直接查看内容了。
【ODex反编译技术全面解析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于把oddex的教程都看完了,感觉还是蛮有意思的。
有10位网友表示赞同!
想了解一下apk反向工程,oddex感觉还是挺不错的软件。
有20位网友表示赞同!
最近在学习android开发,oddex这个反编译工具很有用!
有17位网友表示赞同!
我之前还从来没接触过odex反编译,看了总结觉得还是蛮详细的啊!
有13位网友表示赞同!
用oddex反编译apk确实可以很方便地查看代码了,以前不知道这种方法。
有17位网友表示赞同!
这个总结让我对odex反编译有了更深入的理解。
有19位网友表示赞同!
学习逆向工程,这篇文章挺有帮助的。
有11位网友表示赞同!
学习oddex反编译,从零开始也是一条通往探索的路吧!
有11位网友表示赞同!
这篇总结写的很全面,入门非常合适!
有17位网友表示赞同!
对android应用源码研究很有兴趣,这种工具太棒了!
有7位网友表示赞同!
odex反编译需要哪些基础知识才能更好地理解呢?
有9位网友表示赞同!
看了总结之后也想动手尝试一下oddex的反编译。
有7位网友表示赞同!
感觉逆向工程是一个让人充满好奇的领域,oddex能让我更深入地了解它。
有14位网友表示赞同!
分享这篇文章给大家,希望能帮助更多人学习oddex反编译。
有9位网友表示赞同!
总结很好理解,很多细节我都不知道以前。
有6位网友表示赞同!
这篇总结对小白来说非常友好!
有10位网友表示赞同!
感谢作者的劳动成果,让我能够快速理解oddex的反编译思路!
有8位网友表示赞同!
如果想深入学习oddex反编译呢?有哪些建议?
有17位网友表示赞同!
odex反编译可以应用到哪些领域呢?
有8位网友表示赞同!
学习总结之后感觉自己距离掌握oddex还差一点,需要多练习才能更 proficient!
有20位网友表示赞同!