fs:[0x28]
的引用,我将如何使用radare2进行处理?例如,0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19"
我想找到所有引用
fs:[0x28]
的行,就像上面的那一行。该地址用作堆栈金丝雀,我特别想知道从中读取的内容。#1 楼
似乎您可以仅使用地址axt
来查找使用0x28
(查找该地址的数据/代码引用)对其进行写操作的事物。我仍然不确定如何限定内存段,[0x000006aa]> axt 0x28
sym.foo 0x6b5 [DATA] mov rax, qword fs:[0x28]
但这不起作用,
[0x000006aa]> axt fs:[0x28]
entry0; [14] -r-x section size 514 named .text 0x5a0 [CODE] xor ebp, ebp
sym.__libc_csu_init 0x779 [CALL] call qword [r12 + rbx*8]
#2 楼
通过查看此函数的实现方式,看起来似乎没有任何选择(但可以在Telegram的r2上询问)。它只需要一个要转换为数字的字符串,仅此而已。如果要查看使用fs:[0x28]
的所有位置,为什么不搜索操作码的这一部分?[0x004049a0]> /c fs:[0x28]
0x00402a19 # 9: mov rax, qword fs:[0x28]
0x00403f81 # 9: xor rcx, qword fs:[0x28]
0x00404dc1 # 9: mov rax, qword fs:[0x28]
0x00404de6 # 9: xor rdx, qword fs:[0x28]
0x00405431 # 9: mov rax, qword fs:[0x28]
0x004054ea # 9: xor rbx, qword fs:[0x28]
...