android反编译odex文件

Posted mfmdaoyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android反编译odex文件相关的知识,希望对你有一定的参考价值。

关于android的反编译工具,相信大家并不陌生

APK-TOOL,dex2jar

APK-TOOL 用于反编译出布局文件

下载地址http://code.google.com/p/android-apktool/downloads/list

 技术分享

dex2jar 用于将dex反编译成.jar包

下载地址:http://code.google.com/p/dex2jar/downloads/list

 技术分享


生成的jar包可用jd-gui来查看(前提是代码未被混淆)

 

可是假设我们从rom里面提取出的apk是不能反编译出源代码

由于android系统为了加快内置应用的启动时间,会将dex从apk中提取出来优化成odex(二者都是可运行文件)

所以这就须要我们先将odex转化为dex再进行反编译

这就须要用到下面四个文件:

下载地址:http://code.google.com/p/smali/downloads/list

 技术分享

只是在反编译odex的时候光有源文件还不够,还须要依赖rom里面framework下的odex。详细依赖程度视情况而定,最简单的方式就是将framework下的odex所有copy过来就可以

 

以下以红米rom为例,反编译Phone资源

如图示:

 技术分享

system\framework下放置好所依赖的odex文件

输入java -jar baksmali-2.0.3.jar -d ./system/framework -x Phone.dex

正常会生成out目录

再输入java -jar smali-2.0.3.jar out/ -o classes.dex

打包生成的class.dex就是我们要的东西了

 

以下附上測试用的资源文件

http://download.csdn.net/detail/geniuseoe2012/7352757

技术分享

心动不如行动,赶紧来尝试一把吧!

技术分享






以上是关于android反编译odex文件的主要内容,如果未能解决你的问题,请参考以下文章

Android APK+Dex文件反编译及回编译工具的使用说明

如何反编译 android 中 /data/dalvik-cache/arm 下的文件

Android系统APP的odex转dex

Android系统APP的odex转dex

Java 虚拟机原理Dalvik 虚拟机 ( 打包 Jar 文件和 Dex 文件 | 反编译 Dex 文件 | 分析 Dex 文件反编译结果 )

android反编译怎么看资源文件