首页 > 代码库 > 用Classpy分析.dex文件
用Classpy分析.dex文件
DVM
了解Android的人都知道,可以用Java语言开发Android应用。但是Android操作系统其实只是使用了Java语言而已,真正运行Java代码的虚拟机,并不是JVM,而是DVM(Dalvik Virtual Machine)。DVM并不符合JVM规范,主要表现在以下几个方面:
- JVM是Stack Based,DVM是Register Based
- JVM执行的是Java Bytecode,DVM有自己的Bytecode
- JVM要求Java代码编译成.class文件,而DVM要求把.class文件合并成.dex文件
分析DEX文件
因为DVM和JVM的区别,.dex文件和.class文件格式也有很大的不同。在前面的一篇文章里,我介绍了Classpy,用它可以很直观的观察.class文件。经过一番修改之后,现在它也可以打开.dex文件了,下面是几幅屏幕截图:
-
下载和运行Classpy
可以克隆Gradle项目自己编译,也可以下载可执行jar双击运行。但是注意,需要Java8环境!另外要注意,打开稍微大一点的文件,Classpy就会很慢,不知道是不是JavaFX的原因 :(
用Classpy分析.dex文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。