【Tips】使用gdb调试pwntools编写的脚本

  • 在脚本开头处添加

    context.log_level = 'debug'  #便于查看payload的发送情况
    
  • 在调试点如payload发送之前添加

    gdb.attach(io, 'b *0xXXXXXXXX')   #启动gdb并在0xXXXXXXXX处下断点
    pause()   #触发调试中断,在原窗口中按任意键继续,然后在gdb中按c即可停在断点处
    
  • gdb中比较有用的命令

    c  #执行到下一个断点处
    si #单步执行
    r  #执行到返回
    b *0xXXXXXXXX  #在0xXXXXXXXX处下断点
    p $ebp  #打印出ebp寄存器的值
    x/20wx $ebp-0xC  #查看$ebp-0xC处20个内存单元的内容
    stack  #查看调用栈
    

你可能感兴趣的:(PWN,-,Tips)