Dalvik虚拟机为自己设计了一套指令集,并制定了自己的指令格式和调用规范。
位描述约定如下:
以「A|G|op BBBB F|E|D|C」为例,
指令中间两个空格每个分开的部分大小为16位;
第一个16位A|G|op,高8位由A和G组成,低字节由操作码op组成;
第二个16位BBBB表示一个16位的偏移值;
第三个16位由F、E、D、C四个字节组成,在这里他们表示寄存器参数。
单纯通过位标识还无法确定一条指令,必须通过指令格式标识来指定指令的格式编码。在书的38页,这里不摘录了。
目前主流的DEX可执行文件反汇编工具有BakSmali何Dedexer。其中BakSmali还支持打包反汇编代码重新生成DEX文件,使用更广泛。
Chapter3——进入Android Dalvik虚拟机(二),布布扣,bubuko.com
Chapter3——进入Android Dalvik虚拟机(二)
原文地址:http://www.cnblogs.com/larrylawrence/p/3817144.html