-
-
[求助]Dalvik字节码 参数寄存器好几个都对不上顺序。
-
发表于: 2019-5-25 22:26 1582
-
12 5 2 |0007: const/4 v2, #int 5 // #5
12 3 3 |0008: const/4 v3, #int 3 // #3
如上两条Dalvik字节码,前两位相同的12对应格式ID11n,查询Dalvik 可执行指令格式得到如下格式:
const/4 vA, #+B 解释如下:
A: 目标寄存器(4 位)
B: 有符号整数(4 位)
将给定的字面值(符号扩展为 32 位)移到指定的寄存器中。
第一部分12对应格式第二部分 为什么是常数 #+5 而不是参数寄存器v2
第三部分
为什么是常数 #+3 而不是参数寄存器v3
----------------------------------------第二个问题-------------------------------
同上下面这句Dalvik字节码:查询6e得到的格式如下:
[A=3] op {vC, vD, vE}, kind@BBBB
解释如下:
A: 参数字数(4 位)B: 方法引用索引(16 位)C..G: 参数寄存器(每个寄存器各占 4 位)
第一部分6e对应格式,30对应A=3
第二部分0100对应方法常量01
第三部分参数寄存器 2003 这一部分应该这么对照呢,为什么对不上呢?
有高手指点下迷津么,谢谢。
@非虫
参考《Android软件安全与逆向分析》
https://source.android.com/devices/tech/dalvik/dalvik-bytecode
https://source.android.com/devices/tech/dalvik/instruction-formats
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
看原图
赞赏
雪币:
留言: