如何使用寄存器检查radare2中的内存地址?我想实现这个命令在 gdb 中的作用:x/s $ebp+0x4
在radare2中检查内存
逆向工程
雷达2
2021-06-09 21:47:36
3个回答
[0x080495e0]> x/8x @0x80483d0
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x080483d0 7275 6e20 6173 202e run as .
[0x080495e0]> x/8s @0x80483d0
run as ./prog a_number (e.g. ./prog 90)
good.
bad.
[0x080495e0]>
radare2 -d xxxx\calc.exe
[0x7c999712]> dr ebp
0x0007fd14
[0x7c999712]> x/16x @ebp+0x48
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x0007fd5c 7d4c 5480 0000 0000 3400 00c0 a8a0 128a }LT.....4.......
[0x7c999712]> x/s @ebp+0x48
}LT
4
[0x7c999712]>
当然,您可以使用寄存器名称作为偏移量。
jvoisin@kaa 13:48 ~ r2 -d /bin/ls
Process with PID 3963 started...
Attached debugger to pid = 3963, tid = 3963
Debugging pid = 3963, tid = 3963 now
Using BADDR 0x400000
Assuming filepath /bin/ls
bits 64
Attached debugger to pid = 3963, tid = 3963
-- I did it for the pwnz.
[0x7fc7e0a02cd0]> db main
[0x7fc7e0a02cd0]> dc
hit breakpoint at: 4028a0
Debugging pid = 3963, tid = 1 now
[0x004028a0]> px 8 @ rsp
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x7ffc0cb65198 40ba 22e0 c77f 0000 @.".....
[0x004028a0]> px 8 @ rsp + 4
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x7ffc0cb6519c c77f 0000 7852 b60c ....xR..
[0x004028a0]>
随时检查的输出p?
,如果你想转储数据字符串/数字/浮点/时间戳/ hexdump都/ ...
除了之前的答案,您还可以通过Visual 面板(或仅通过Visual mode)查看记忆。
drr ; to show register values
s rcx ; for example, we're going to review address which is stores in rcx
V! ; Open visual pannels
Press `m` ; to select the menu panel
View -> Hexdump
您将看到一个新的十六进制转储面板。只需按Enter
即可在Zoom mode
(全屏)中打开此面板。
注 0:您可以通过tab
.
注 1 : 向后寻求 - 使用shift + :
打开控制台 abds-
向后寻求。
其它你可能感兴趣的问题