linux用反汇编分析访问空指针问题
1,从通用寄存器x0-x28(xn)反汇编分析
当怀疑x1里面的数据有问题且可以使用gdb时,我们可以看下面的信息,数据储存在其他的x1-x28寄存器可以查看其他的寄存器。
(1)当 x1 寄存器存储的是一个空指针时,gdb 跟踪查看
(gdb) info registers x1
x1 0x0 0
(2)当 x1 寄存器存储的是一个非空指针时,gdb 跟踪查看
(gdb) info registers x1
x1 0x7f8a12345678 140737488346864
2,当不能使用gdb时,我们怎么通过反汇编查看空指针呢
场景 | 反汇编特征 | 关键指令 |
---|---|---|
初始化空指针 | 寄存器显式赋零 |
|