基础复习(GDB调试)

news2025/1/17 15:49:54

1.GDB环境配置

这里只说Pwndbg
Pwndbg的安装简单,访问Github主页,https://github.com/pwndbg/pwndbg
在“How”栏中看到安装说明
在这里插入图片描述

2.打开文件

GDB打开文件的方式与图形化的工具不同,需要通过传入参数或执行命令

  • 方式1:在GDB的命令行后直接接可执行文件,形如“gdb./文件”
  • 方式2:使用GDB的–args参数执行,形如“gdb–args./ping -c 10 127.0.0.1"
  • 方式3:打开GDB后,使用file命令指定可执行文件

3.调试程序

GDB调试方式也与图形化的工具不同,完全由命令控制,而不是快捷键
(1)控制程序执行

  • r(run):启动程序
  • c(continue):让暂停的程序继续执行
  • si(step instruction):汇编指令层面上的单步步入
  • ni(next instruction):汇编层面上的单步步过
  • finish:执行到当前函数返回

(2)查看内存、表达式等

  • x/dddFFF:ddd代表长度,FFF代表格式,如”x/10gx“,具体格式列表可以查看https://visualgdb.com/gdbreference/commands/x
  • p(print):输出一个表达式的值,如”p 1+1“,p命令同样可以在后面添加指定格式,如”p/x111222“
    在这里插入图片描述(3)断点相关命令
  • b(break):blocation,location可以为十六进制、名称的等,如”b0x8005a0“ “b*main”。“ * “是指中断在指定的地址,而不是对应的源代码行
  • info b 或 info bl (Pwndbg加入):列出所有的断点,每个断点会有自己的序号
  • del(delete):删除指定序号的断点,如“del 1”
  • clear:删除指定位置的断点,如“clear*main”
    在这里插入图片描述

(4)修改数据

  • 修改寄存器:set $rax=0x100000
  • 修改内存:set{要赋值的类型}地址=值,形如“set{int}0x405000=0x12345”
    注意
    GBD不会在入口点处暂停程序,所以用户需要在程序执行前设置好自己的断点,此外GDB不像OD和X
    64DBG一样会自动保存用户的断点数据,需用户每次重新设置断点

在GDB的命令执行中,无输入直接回车代表重复上一条命令

更多查看:https://zhuanlan.zhihu.com/p/297925056

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实现DAS单点登录

❇️ 流程 进入登录页面 (DAS验证的登录页面) 获取验证码图像,百度OCR识别 登录 🏞️ 环境 Windows 11 Python 3.12 PyCharm 2023 🧵 准备工作 安装必要依赖库 bs4 Jupyter 推荐安装 Jupyter(Anaco…

WSL2配置Linux、Docker、VS Code、zsh、oh my zsh(附Docker开机自启设置)

0. 写在前面 本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 1. 安装WSL2 按照微软官方文档进行操作,当然也可以直接wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是Ubuntu 20.04 LTS 注:WSL默认安装…

Vue + Echarts页面内存占用高问题解决

Vue Echarts页面内存占用高问题解决 1.问题描述 目前使用的是Vue2 Echarts4.x的组合,页面如下所示。 就是一个类似于神策的数据看板页面,左侧是一个导航栏,右侧看板页面中包含很多个报表图片,其中报表页面中对Echarts图表进…

Vision Mamba:使用双向状态空间模型进行高效视觉表示学习

模型效果 将DeiT和Vim模型之间的性能和效率比较,为了进行准确性比较,我们首先在IN1K分类数据集上预训练DeiT和Vim,然后在不同的下游密集预测任务上微调通用主干,即,语义分割、目标检测、实例分割。结果表明&#xff0c…

linux之前后端项目部署与发布

目录 前言 简介 一、安装Nginx 二、后端部署 2.1多个tomcat负载均衡 2.2 负载均衡 2.3 后端项目部署 三、前端部署 1.解压前端 2.Nginx配置文件修改 3.IP域名映射 4.重启Nginx服务 前言 上篇博主已经讲解过了单机项目的部署linux之JAVA环境配置JDK&Tomcat&a…

人人都是项目管理者,项目管理的基础入门

一、教程描述 本套教程旨在系统介绍项目管理的方法论,帮助大家认识、熟悉、体验、思考项目管理,全面掌握项目管理的流程与方法,快速成长为时代紧缺型的项目管理人才。本套项目管理入门教程,大小805.40M,共有13个文件。…

YOLO目标检测——电力绝缘子缺陷检测数据集【含对应voc、coco和yolo三种格式标签集】

实际项目应用:电力绝缘子缺陷检测数据集的应用范围涵盖了电力设备制造、供应、维护、监控等多个领域,对提升电力系统的安全性、可靠性和效率具有重要意义数据集说明:无缺和有缺陷两种标签类别。标签说明:使用lableimg标注软件标注…

【GO语言卵细胞级别教程】07.捕获异常和自定义错误

【GO语言卵细胞级别教程】07.捕获异常和自定义错误 🥰博主:GokuCode 🥰微信公众号:【给点知识】分享小知识,快速成长,欢迎关注呀!(底部点击二维码) 🥰本项目演示代码仓库…

FL Studio 老用户免费更新FL Studio 21.2.3.4004 中文版及FL Studio 21更新日志

FL Studio 21是一款非常流行的数字音频工作站软件,它可以帮助音乐制作人和音乐爱好者创作出高质量的音乐作品。在FL Studio 21中,有许多插件可以帮助用户实现各种音乐效果,例如合成器、鼓机、效果器等等。 FL Studio 21.2.3.4004 加入了新的插…

学会字符转换

字符转换 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入⼀一个字符串,将字符串中大写字母全部转为小写字母,小写字母转成大写字母,其他字符保持不变。注:字符串…

Python爬虫实战:图片爬取与保存

引言: 在本文中,我们将学习如何使用Python创建一个简单的图片爬虫。 我们将利用requests库来发送HTTP请求,BeautifulSoup库来解析HTML页面,以及os和shutil库来下载和保存图片。通过这个教程,你将学会如何爬取网…

【JavaScript 漫游】【021】EventTarget 接口

事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现。DOM 支持大量的事件。 EventTarget 接口概述 DOM 的事件操作(监听和触发),都定义在 EventTarget 接口。所有节点对象都部署了这个接口,其他…

8.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-游戏底层功能对接类GameProc的实现

内容参考于:易道云信息技术研究院VIP课 上一个内容:通过逆向分析确定游戏明文接收数据过程 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:bcf7559184863febdcad819e48aaa…

选座位 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 疫情期间,需要大家保证一定的社交距离,公司组织开交流会议,座位有一排共N个座位,编号分别为[0…N-1],要…

mvn版本导致的Failed to execute goal on project问题与解决

目录 一,报错情况与原因二,maven的下载与安装1,卸载maven2,安装mvn3,指定mvn的默认版本: 一,报错情况与原因 使用命令mvn package时会报如下错误: Failed to execute goal on proj…

关于js [GDOUCTF 2023]hate eat snake

查看页面源代码 发现snake.js文件 打开js文件 第7行定义了游戏的速度this.speed this.oldSpeed speed || 10 ; 全文搜索speed,在第237行发现自增代码this.speed; 注释或者删除自增代码 回到游戏页面 重玩游戏,等待60s即可 得到flag

C语言--贪吃蛇

目录 1. 实现目标2. 需掌握的技术3. Win32 API介绍控制台程序控制台屏幕上的坐标COORDGetStdHandleGetConsoleCursorinfoCONSOLE_CURSOR_INFOSetConsoleCursorInfoSetConsoleCursorPositionGetAsyncKeyState 4. 贪吃蛇游戏设计与分析地图<locale.h>本地化类项setlocale函…

matlab经验模式分解的R波检测算法

1、内容简介 略 56-可以交流、咨询、答疑 2、内容说明 略 心血管疾病是威胁人类生命的主要疾病之一&#xff0c;而心电信号&#xff08;electrocardiogram, ECG&#xff09; 则是评价心脏功能的主要依据&#xff0c;因此&#xff0c;关于心电信号检测处理的研究一直为各方所…

js设计模式:状态模式

作用: 将对象的行为和状态进行分离,状态是由行为操作决定的,而不是直接控制。 同时,行为也是由状态决定的,每个状态都有自己的行为和相应的方法 行为与状态分离,可以使代码方便维护 示例: <!DOCTYPE html> <html lang"en"><head><meta cha…

基于YOLOv5+PySide6的火灾火情火焰检测系统设计深度学习

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;225火灾 获取完整源码源文件已标注的数据集&#xff08;1553张&#xff09;配置跑起来说明 可有偿49yuan一对一远程操作&#xff0c;在你电脑跑起来 效果展示&#xff1a; ​数据集在下载的文件夹&#xff1a;yolov5-5.0\…