`
u011467537
  • 浏览: 11219 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android odex转换dex说明

 
阅读更多

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 。

分享到:
评论
1 楼 u011467537 2017-07-09  
odex的优化是依赖于特定os的,所以使用baksmali时,依然需要Android系统的库文件

相关推荐

    ODEX文件转换成DEX文件工具

    ./dexopt-wrapper android123.apk android123.odex 二、合并odex和 少dex的apk 为完整的apk文件 1. 需要odex所在rom中的一些引用类,一般在 /system/framework 目录中 2 . 通过odex生成class文件 java -jar ...

    android8.0 odex2dex.rar

    因此,当尝试将Odex转换为Dex时,必须处理Vdex的相关部分。 要解决这个问题,你需要修改原始的转换命令,包括合并Vdex文件。这通常涉及到使用一个名为`oat2dex.jar`的工具,这个工具可能包含了处理Vdex并进行转换的...

    odex转dex 工具 保证可用

    在Android系统中,`.odex`(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化后的字节码,而`.dex`(Dalvik Executable)文件则是未优化的字节码,通常用于APK安装包。`.odex`文件体积更小,运行速度更快...

    android 反编译 逆向 vdex2dex odex2dex

    "android 反编译 逆向 vdex2dex odex2dex"这个主题涉及到的是如何通过特定工具和技术来查看和理解Android应用程序的内部工作原理。在本文中,我们将深入探讨这些概念,以及它们在Android应用逆向工程中的应用。 ...

    Android 5.0 odex合并apk

    它可以帮助我们将Odex文件转换回原始的DEX格式,然后将其合并到对应的Apk文件中。这样,原本分散的Odex文件就可以被整合成单个Apk,方便管理。 使用步骤大致如下: 1. 首先,将从ROM中提取出的framework、app、...

    android手机端odex化

    总结来说,"android手机端odex化"是通过工具如dexopt-wrapper将APK的.dex文件转换为更高效、更快速的.odex文件,以提高应用的启动速度和运行性能。而超级终端如Better Terminal Emulator Pro则为开发者和高级用户...

    dex和odex文件格式详解资料

    在Android操作系统中,dex(Dalvik Executable)和odex(Optimized Dalvik Executable)文件格式是核心组件,它们负责存储应用程序的字节码,使得应用能够在Android设备上运行。这里我们将深入探讨这两个文件格式的...

    Apk脱壳工具合集AutoOdex2Dex,DexExtractor,drizzleDumper,java2small.rar

    AutoOdex2Dex能够自动将Odex文件转换回原始的DEX文件,便于逆向工程师使用反编译工具如JD-GUI或Decompiler进行代码分析。 2. DexExtractor:正如其名,这个工具专注于从APK中提取DEX文件。DEX文件是Dalvik虚拟机...

    Android中dump出dex文件

    在Android系统中,Dalvik虚拟机(或者对于较新的Android版本,ART运行时)负责执行应用程序的.dex(Dalvik Executable)文件。这些文件包含了编译后的Java代码,经过优化以便在Android设备上高效运行。有时,开发者...

    关于android中odex与apk 的合并

    5. **优化和转换**:在某些情况下,可能需要使用dex2jar和dx工具将Odex文件转换回.dex格式,然后再次优化以适应Apk的结构。 6. **验证和测试**:最后,务必在目标设备上测试合并后的Apk,确保应用能够正常运行且...

    odex反编译及回编译教程

    在Android开发中,`odex`文件是Dalvik虚拟机执行的优化过的字节码,它包含了应用程序的类和方法。本教程将详细介绍如何对`odex`文件进行反编译和回编译,以便分析和修改Android应用的源代码。 **反编译流程** 1. *...

    Android APK+Dex文件反编译及回编译工具(APKDB)v.1.9.2 正式版

    是一款,针对Android OS系统的APK程序,直接反编译修改的工具。 APKDB集合了当今最强悍,最犀利的APK及Dex文件编译工具; 正常安装后,它直接在【鼠标右键】创建快捷菜单; 非常方便汉化工作者,对APK或Dex文件...

    dex-tools-2.1-SNAPSHOT.zip

    dex-tools-2.1-SNAPSHOT.zip 是一个包含与Android应用开发相关的工具的压缩包,主要服务于将Dalvik Executable (DEX) 文件转换为Java字节码(JAR)的过程。"dev2jar"标签表明这个工具集是专门用于 Dex to Jar 的转换...

    odex反编译及回编译工具及命令

    # 将.dex或.odex转换为.jar dx --dex --output=your_output.jar your_odex_file.dex java -jar d2j-dex2jar.sh your_odex_file.dex ``` 接下来,我们可以使用smali/baksmali工具将`.jar`文件中的`.class`文件转换为...

    apk分离odex

    这些工具可以帮助我们将.dex文件(Dalvik字节码)转换成可读性强的Java字节码,便于分析和调试。 **3. 分离ODEX的目的:** - **调试:** 分离出ODEX文件可以方便开发者查看和修改优化后的代码,以便于调试和定位...

    反编译工具,一套从odex到java代码的完整反编译工具。

    尽管.dex文件不是标准的.class文件,但通过工具如dex2jar,我们可以先将.dex文件转换为.jar,然后再使用java decompiler进行反编译。这个过程可以帮助开发者分析已有的Android应用,了解其内部工作原理,或者在修复...

    oat2dex.zip

    由于.oat文件包含针对特定设备和Android版本的优化,因此这个转换过程可能需要对Android系统有一定了解,并且可能需要特定版本的oat2dex工具来匹配目标设备的架构和Android版本。 "oat2dex"可能是指执行转换的...

    apk+dex反编译、编译器曾哥制作

    总而言之,这个主题涵盖了Android应用逆向工程的关键技术,包括使用Apktool进行APK的反编译和重打包,DEX与ODEX文件的理解,以及dex2jar和jar2dex工具的使用。这些都是Android安全分析、应用破解防护或者进行二次...

    最新安卓手机端终端命令odex化

    Dex2Oat是将.dex文件转换为.oat(Optimized Android Executable)文件的过程,而oat2Odex则是进一步将.oat文件优化为.odex文件。这个过程通常在安装应用时自动完成,但也可以通过手动触发优化,例如通过终端命令行...

    如何合并apk和odex文件

    这通常涉及提取设备的系统映像,找到对应的ODEX文件,然后使用dex2jar工具将其转换为.jar文件,再用jad转回.dex格式。 3. 合并Smali和DEX代码: 一旦你有了反编译后的Smali代码和未优化的DEX文件,你可以选择性地...

Global site tag (gtag.js) - Google Analytics