码迷,mamicode.com
首页 > 其他好文 > 详细

用Classpy分析.dex文件

时间:2014-09-04 19:06:40      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:java   android   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文件

bubuko.com,布布扣

分析DEX文件

因为DVM和JVM的区别,.dex文件和.class文件格式也有很大的不同。在前面的一篇文章里,我介绍了Classpy,用它可以很直观的观察.class文件。经过一番修改之后,现在它也可以打开.dex文件了,下面是几幅屏幕截图:

bubuko.com,布布扣

-

bubuko.com,布布扣

下载和运行Classpy

可以克隆Gradle项目自己编译,也可以下载可执行jar双击运行。但是注意,需要Java8环境!另外要注意,打开稍微大一点的文件,Classpy就会很慢,不知道是不是JavaFX的原因 :(



用Classpy分析.dex文件

标签:java   android   dex   

原文地址:http://blog.csdn.net/zxhoo/article/details/39055325

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!