GDB
调试指定进程
shell
1 | gdb attach <pid> |
若失败,可能是权限不够,试试用sudo
PIE下断点
调试开启PIE保护的程序时,下断点可以使用$rebase
shell
1 | b *$rebase(0xAAAA) |
Pwntools.gdb执行多条指令
若想执行多条指令,可以使用\n
连接多条指令:
python
1 | gdb.attach(p, "b *$rebase(0xAAAA)\n" + "c\n" + "si") |
pwngdb 堆相关指令
查看堆结构 Ref.
shell
1 | heapls |
相关指令
heap (查看堆详细内容)
bins (查看bins)
IDA
求余数运算反汇编
求余运算F5反汇编结果如下:
c
1 | v5 = 3 * v0 - 0X30 * ((unsigned __int64)(0xAAAAAAAAAAAAAAABLL * (unsigned __int128)(3 * v0) >> 64) >> 5); |
其实相当于如下运算:
c
1 | v5 = 3 * v0 % 0x30; |