我有一些关于 dex 文件的问题
dex
我需要具体信息,请对此提供帮助,欢迎任何真实示例!
关于 .dex 文件:
(Android 系统下的主力)最显着的特点之一Dalvik Virtual Machine是它不使用 Java 字节码。相反,引入了一种称为 DEX 的本土格式,甚至字节码指令都与 Java 字节码指令不同。
Dalvik Virtual Machine
Compiled Android application code file.
Android 程序被编译成.dex(Dalvik 可执行文件)文件,这些文件又被压缩到设备上的单个.apk文件中。.dex可以通过自动翻译用 Java 编程语言编写的已编译应用程序来创建文件。
.dex
.apk
dex文件格式:
1. File Header 2. String Table 3. Class List 4. Field Table 5. Method Table 6. Class Definition Table 7. Field List 8. Method List 9. Code Header 10. Local Variable List
Android 有关于Dalvik Executable Format( .dex 文件)的文档。您可以在官方文档中找到更多信息:Dex 文件格式
Dalvik Executable Format
.dex文件类似于 java 类文件,但它们在较旧的 Android 版本上的 Dalkvik 虚拟机 (DVM) 下运行,并在设备上安装时编译为带有 ART 的较新 Android 版本的本机代码。
您可以使用android-sdk 中提供decompile的工具 .dex 。dexdump
decompile
dexdump
还有一些 逆向工程技术 可以从文件中生成jar file或java class file生成.dex文件。
jar file
java class file