关于.dex文件:
Dalvik虚拟机(Android系统下的主力)最显着的特点之一是它不使用Java字节码.相反,引入了一种名为DEX的本地格式,甚至字节码指令也与Java字节码指令相同.
Compiled Android application code file.
Android程序被编译成.dex(Dalvik可执行文件)文件,这些文件又被压缩成设备上的单个.apk文件.可以通过自动转换用Java编程语言编写的编译应用程序来创建.dex文件.
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可执行格式(.dex文件)的文档.您可以在官方文档中找到更多信息:Dex File Format
.dex文件类似于java类文件,但它们是在较旧的Android版本的Dalkvik虚拟机(DVM)下运行,并在设备上安装时编译为在较新的Android版本上使用ART的本机代码.
你可以使用android-sdk中提供的dexdump工具反编译.dex.
还有一些逆向工程技术可以从.dex文件生成jar文件或java类文件.