Android 开发中经常需要解决一些兼容性问题,通常情况下我们会把对应的系统预装的app拉出来,逆其结构看其有何端倪。过程中,我们会发现,有一些rom ,/system/app 目录下是以xxx.odex的文件形式存在,那么odex 是什么呢?
odex是Optimized dex的缩写,也就是优化后的dex文件。odex文件依赖系统中已经编译好的系统模块,一般是/system/framwork目录下的jar 包,目的也是为了提高Dalvik虚拟机的运行速度,可以说从class 到dex是针对android 平台的一种通用优化,odex是dex 文件在不同手机rom在做的特殊优化。对此有兴趣的朋友可以阅读 邓凡平老师的深入理解Android之Java虚拟机Dalvik。
文章的主要内容就是介绍下如何将odex 转成dex 。
1、工欲善其事必先利其器,配置好jar 环境后,到bitbucket.org上下载 smali-xxx.jar、baksmali-xxx.jar、baksmali、smali四个文件,并放到本地目录test。
2、将odex转smali
将对应的odex文件也一同拷贝到test目录,/system/framwork 中的jar 包拷贝到test/framwork目录,运行如下命令:
Java -jar baksmali-xxx.jar -x test.odex -d framework
3、将smali转dex
java -jar smali-xxx.jar out -o test.dex
-o,–output the directory where the disassembled files will be placed. Default is out.
-d,–bootclasspath-dir the base folder to look for the bootclasspath files in.
-v,–version prints the version then exits
-x,–deodex deodex the given odex file.
因为odex的优化是依赖于特定os的,所以使用baksmali时,依然需要Android系统的库文件,如果缺少framwork里面的jar包,会导致解析失败 。网上也有朋友将这些命令行集成一个bat ,可以参考 android APK提取内置软件odex转dex 。
相关推荐
./dexopt-wrapper android123.apk android123.odex 二、合并odex和 少dex的apk 为完整的apk文件 1. 需要odex所在rom中的一些引用类,一般在 /system/framework 目录中 2 . 通过odex生成class文件 java -jar ...
安卓8.0之后odex转dex命令转不出文件,报错缺失vdex文件,这里需将命令修改之后可实现odex转dex
odex转dex 工具 保证可用 使用了baksmali-1.4.0.jar和 smali-1.4.0.jar
一键odex2dex的工具包,若要反编译你自己的odex文件,需要你自己rom包下的system/framework下的所有文件复制到本工具包的framework目录下,并将你自己的odex文件替换成工具包里的123.odex文件
odex和apk合成dex 一、APK生成odex文件方法: 编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤 将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux...
android 反编译 逆向 vdex2dex odex2dex 查看app源代码
framework.dex为要转换的文件 , out为输出目录 运行命令:java.exe -jar baksmali-2.5.2.jar d framework.dex -o out 【odex直接转smali】 解来services.odex,直接转smail文件,如果有boot.art,boot.oat放到...
【Android 热修复】热修复原理 ( 修复包 Dex 文件准备 | Dex 优化为 Odex | Dex 文件拷贝 | 源码资源 ) https://hanshuliang.blog.csdn.net/article/details/115639313 源码快照
安卓手机odex转换工具
(1)把原来的odex 变换成 dex 的核心,从 baksmali.jar 换成了 oat2dex.jar (2)批处理脚本里面,原来的只能重 apk 和 odex 在同一目录的情况下,这种处理方法会漏掉带有 so 动态链接库的 apk。比如下面这种情况...
dex和odex文件格式详解资料
超级终端,dexopt-wrapper,使用说明
使用说明: 本工具执行安装后,直接在【鼠标右键】生成快捷键,自动关联APK、DEX、 Odex、Zip文件。只要在电脑任意非C盘根目录,【鼠标右键】点击相关文件,即 可编译操作。如,反编译APK及DEX文件,反编译后...
Android系统中运行的程序包主要分framework,system/app,data/app,三个路径,开机的时候启动内核后,就会逐个启动framework里的jar框架程序,再启动system/app的开机自启程序。 如果你想把整个ROM都odex化,就必须先...
提取ROM内 framework 、app 、priv-app 存于一个文件夹内 打开软件,点击Browse 选择该文件夹 Start Process 耐心等待软件自动完成
部分手机厂商为防止自己程序,被移植到其他手机上,将classes.dex与APK文件分离,转化成一个odex文件,这样想要用分离后的程序,就要连着framework下的文件一起复制到别的手机上,这样就会无法开机 将odex 文件转成...
Android APK+Dex(APKDB)安卓反编译利器包是一款针对Android OS系统的APK程序直接反编译修改的工具,集合了当今最强悍,最犀利的APK及Dex文件编译工具,这款软件比上版调整幅度比较大,而这轮主要是先进行稳定性方面...
odex转dex,dex转smali, smalli转java代码工具,java代码查看工具
此外反编译器还提供了很多实用功能,如路径求解、 漏洞检测、隐私泄露检测、查壳、odex转dex、oat转dex、加解密算法工具、android设备内存dump等等。在交互式分析上,提供了字符串、方法、类和域交叉引用查询、调用...
市面上唯一能用的odex,其他的都不能用了,好不容易找到的,大家可以使用