安卓逆向学习交流群:692903341
Dalvik指令:
基础字节码-名称后缀/字节码后缀 目的寄存器 源寄存器
名称后缀是wide,表示数据宽度为64位
字节码后缀是from16,表示源寄存器为16位
空操作指令:
nop :空操作指令的助记符 为nop。它的值为00,通常nop指令被用来作对齐代码之用,无实际操作。
数据操作指令:
move v0, v1:将v0寄存器的值赋给v1寄存器,源寄存器与目的寄存器都为4位。
move/from16 v0, v1:将v1寄存器的值赋给v0寄存器,源寄存器为16位,目的寄存器为8位。
move/16 v0, v1:将v1寄存器的值赋给v0寄存器,源寄存器与目的寄存器都为16位。
move-wide v0, v1:为4位的寄存器对赋值。源寄存器与目的寄存器都为4位。
move-wide/from16 v0, v1 与“move-wide”相同。
move-object v0, v1:为对象赋值。源寄存器与目的寄存器都为4位。
move-object/from16 v0, v1:为对象赋值。源寄存器为16位,目的寄存器为8位。
move-object/16 v0 v1:为对象赋值。源寄存器与目的寄存器都为16位。
move-result v0:将上一个invoke类型指令操作的单字非对象结果赋给v0寄存器。
move-result-wide v0:将上一个invoke类型指令操作的双字非对象结果赋给v0寄存器。
move-result-object