Android软件安全与逆向分析(一)

Dalvik与HotSpot这类标准JVM有哪些不同呢?

首先,将书中的代码编译为java字节码和dalvik字节码


书中所说的dexdump程序在build-tools目录下(依据API还有子目录)。


在老罗的安卓之旅中有关于Dalvik虚拟机的介绍:

Dalvik虚拟机简要介绍和学习计划

不过这里主要是一些关于这个VM的性能有关的研究,例如内存管理,进程管理之类的。可以日后在看。他的文章中还提到了一篇发表在VEE上的论文:

Virtual Machine Showdown: Stack Versus Registers

我们通常认为寄存器架构比堆栈架构更快,虽然堆栈架构可以做到零地址,但是寄存器架构用了更少的指令数摊派。


另外一点就是dalvik虚拟机对于常量池的压缩




缺少JVM的知识让我这里很难受——我并不觉得这是一种更快的寻址方式,但是它确实节省了空间。


有关Zygote的分析可见老罗的另一篇文章:

 

Android系统进程Zygote启动过程的源代码分析


不过以我目前的水平好像还不用那么深入……


Dalvik 分析 - Class加载篇

不过,要想深入的理解dalvik虚拟机还是跟随动态调试,甚至是源代码来看具体dex文件是如何被加载的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值