gdb-peda调试总汇

本文汇总了使用GDB及PEDA插件进行程序调试的各种实用命令,包括设置断点、查看和删除断点、监视内存变化、查看寄存器内容等。还介绍了如何利用这些工具进行更深入的调试操作,如查看栈帧、强制函数调用、查找ROP小工具等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gdb-peda调试总汇


  • break *0x400100 (b main):在 0x400100 处下断点
    tb一次性断点
    info b:查看断点信息
    delete [number]:删除断点
    watch *(int *)0x08044530:在内存0x0804453处的数据改变时stop

  • x /4xg $ebp:查看ebp开始的4个8字节内容(b:单字节,h:双字节,w:四字节,g:八字节;x:十六进制,s:字符串输出,i:反汇编,c:单字符)

  • p $eax:输出eax的内容
    set $eax=4:修改变量值

  • c:继续运行
    r:重新开始运行
    ni:单步步过
    si:单步步入
    fini:运行至函数刚结束处
    return expression:将函数返回值指定为expression

  • bt:查看当前栈帧
  • info f:查看当前栈帧
  • context:查看运行上下文
  • stack:查看当前堆栈
  • call func:强制函数调用
  • ropgagdet:找common rop
  • vmmap:查看虚拟地址分布
  • shellcode:搜索,生成shellcode

转载于:https://www.cnblogs.com/DismalSnail/p/8743466.html

gdb-peda是一个用于GNU Debugger (gdb) 的增强工具,它提供了额外的功能,使得调试更加方便和高效。peda是Python Exploit Development Assistance for GDB的缩写,它为漏洞利用的开发提供了许多便捷的功能。以下是使用gdb-peda的一些基本步骤: 1. 首先需要安装gdb-peda。你可以从其GitHub仓库下载并安装。通常,这可以通过以下命令来完成: ``` git clone https://github.com/longld/peda.git ~/peda echo "source ~/peda/peda.py" >> ~/.gdbinit ``` 2. 在使用gdb启动你的程序前,确保已经导入了peda。这一步在启动gdb时,会自动加载.peda.py文件。 3. 启动gdb并附加到你的程序。如果程序已经在运行,可以使用`attach`命令附加到进程。如果要启动一个新的程序,可以使用`run`命令。 4. 使用peda提供的命令来进行调试。例如: - `pattern_create` 和 `pattern_offset`:用于生成和分析字符串模式,帮助定位漏洞。 - `searchmem`:在内存中搜索指定的字节序列。 - `vmmap`:显示程序的内存布局。 - `ROPgadget`:用于ROP攻击中的gadget查找。 - `shellcode`:为特定架构生成或测试shellcode。 5. 使用标准的gdb命令结合peda增强的功能,如断点、单步执行、查看和修改寄存器和内存等,来逐步调试程序。 6. 当完成调试后,可以使用`quit`命令退出gdb-peda。 使用gdb-peda时,请注意,你可能需要根据你的具体需求和所使用的gdb版本调整命令和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值