dbg内容
run
run:跑一遍 start:运行到程序认为的入口点停止
c
continue,执行到断点为止
ni
单步
si
步入
i
i r:查看寄存器
i b:查看断点
disassemble
disassemble $rip:反汇编rip附近汇编
disassemble main:反汇编main
b
b *0x000055555555527a:在0x000055555555527a处下断点
disabled
disabled b 8:取消断点,8是i b中第一行num
p $rbp:打印rbp的内容
x
x/[n][f][u] addr
n: 可选,指定要读取的单位数。比如,如果你想读取 4 个单位,可以使用 4。
f: 可选,指定格式。常见的格式包括:
x:十六进制(默认格式)
d:十进制
o:八进制
t:二进制
c:字符
i:指令(如果你想查看机器指令)
u: 可选,指定单位类型。常见的单位包括:
b:字节(byte)
h:半字(halfword,通常为 2 字节)
w:字(word,通常为 4 字节)
g:双字(giant,通常为 8 字节)
addr: 要查看的内存地址,可以是特定的地址、符号名或寄存器。
x/20i $rbp:以汇编的形式显示20行
x/20g $rbp:以8个字节形式显示20组
x/20b $rbp:以1个字节显示20组
x/20w $rbp:以4个字节显示,显示20组
x/20s $rbp:显示字符
set
set *(0x7fffffffe50)=19
有时候要用0去占满这个8字节的剩余空间,用set *(long int)0x7fffffffdd98=0x4011bb。
不能直接set寄存器,要set ((int)$rax)=19,不建议转int
set *((unsigned int)$ebp+0x10)=0x18
distance
pwndbg> distance 0x7fffffffdd60 0x7fffffffdd20
0x7fffffffdd60->0x7fffffffdd20 is -0x40 bytes (-0x8 words)
颜色
黄色:栈数据
白色:只读
蓝色:堆数据
标签:set,20,字节,int,rbp,pwndbg,断点 From: https://www.cnblogs.com/r0xy/p/18498533