青春须早为,岂能长少年。这篇文章主要讲述android反编译odex文件相关的知识,希望能为你提供帮助。
关于android的反编译工具,相信大家并不陌生
如APK-TOOL,dex2jar
APK-TOOL 用于反编译出布局文件
下载地址http://code.google.com/p/android-apktool/downloads/list
【android反编译odex文件】
文章图片
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
文章图片
心动不如行动,赶紧来尝试一把吧!
文章图片
推荐阅读
- javah 错误: 无法访问android.app.Activity问题解决
- Android传统HTTP请求get----post方式提交数据(包括乱码问题)
- Android之自定义View学习
- android studio本地gradle
- Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP
- WPF中的StackPanelWrapPanelDockPanel(转)
- Android Dalvik虚拟机和ART虚拟机对比
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Android 自己定义View学习