当前位置: 首页 > news >正文

逆向破解:x64dbg

文章目录

  • 一、CPU窗口
    • 1、反汇编窗口
    • 2、寄存器窗口
    • 3、栈地址窗口
    • 4、十六进制数据窗口
    • 5、堆栈参数解析窗口
  • 二、常用快捷键
  • 三、字符串检索功能
  • 四、调试功能
    • 1、上一步


一、CPU窗口

1、反汇编窗口

反汇编窗口

2、寄存器窗口

寄存器窗口用于显示和解释当前线程环境下CPU寄存器的各种状态值和内容,并且读者可以通过双击这些寄存器组来对其进行动态的调整参数

在这里插入图片描述

寄存器描述
EAX通用寄存器,用于存放函数返回值、算术运算结果等。
EBX通用寄存器,用于存放内存地址或其他通用数据。
ECX通用寄存器,用于存放函数参数。
EDX通用寄存器,用于存放内存地址或其他通用数据。
ESI通用寄存器,用于存放源数据的地址,例如字符串拷贝等操作。
EDI通用寄存器,用于存放目标数据的地址,例如字符串拷贝等操作。
EBP基址指针,用于存放当前栈帧的基址。
ESP堆栈指针,用于存放当前堆栈顶部的地址。
EIP指令指针,用于存放当前正在执行的指令的地址。
EFLAGS标志寄存器,用于存放CPU的状态标志,例如进位标志、零标志、符号标志等。

标志寄存器(EFLAGS)是一个16位的寄存器,用于存储CPU运算的状态标志,例如进位标志、零标志、符号标志等。下面列出了x86架构CPU中的标志寄存器以及它们的含义:

标志位中文名称描述
CF进位标志当无符号整数加法或减法的结果超出了寄存器的宽度时,该标志位会被设置为1。CF=1表示有进位发生,CF=0表示无进位发生。
PF奇偶标志当一个操作的结果中有偶数个二进制位为1时,该标志位会被设置为1。PF=1表示结果中有偶数个1,PF=0表示结果中有奇数个1。
AF调整标志当一个二进制算术操作(例如加法或减法)中低4位产生了进位或借位时,该标志位会被设置为1。AF=1表示有进位或借位发生,AF=0表示无进位或借位发生。
ZF零标志当一个操作的结果为零时,该标志位会被设置为1。ZF=1表示结果为零,ZF=0表示结果不为零。
SF符号标志当一个操作的结果为负数时,该标志位会被设置为1。SF=1表示结果为负数,SF=0表示结果为非负数。
TF陷阱标志该标志位用于单步调试,当TF=1时,CPU会在每个指令执行后暂停并等待调试器的命令。
IF中断标志该标志位用于控制CPU是否响应中断请求。当IF=1时,CPU允许中断请求;当IF=0时,CPU禁止中断请求。
DF方向标志该标志位用于控制字符串操作的方向,当DF=1时,字符串操作是从高地址向低地址进行的;当DF=0时,字符串操作是从低地址向高地址进行的。
OF溢出标志当有符号整数加法或减法的结果超出了寄存器的宽度时,该标志位会被设置为1。OF=1表示有溢出发生,OF=0表示无溢出发生。

3、栈地址窗口

在这里插入图片描述

4、十六进制数据窗口

在这里插入图片描述

5、堆栈参数解析窗口

在这里插入图片描述

二、常用快捷键

通过选项快捷键来设置快捷键,下面是常用快捷键

在这里插入图片描述

调试控制

F2:开始/停止调试
F3:单步执行
F7:进入函数调用
F8:跳过函数调用
F9:继续执行
F12:暂停/继续执行

断点

F5:添加/删除断点
Ctrl + F5:添加/删除硬件断点
F6:添加/删除条件断点
F9:启用/禁用断点
Ctrl + F9:启用/禁用所有断点

寄存器

Ctrl + R:打开/关闭寄存器窗口
Ctrl + G:跳转到指定地址
F2/F4/F6:在寄存器窗口中修改寄存器的值

内存

Ctrl + M:打开/关闭内存窗口
Ctrl + E:打开/关闭表达式窗口
Ctrl + F:查找指定字节序列
Ctrl + Shift + F:查找指定指令序列
Ctrl + D:将内存中的数据以十六进制形式导出到文件中

三、字符串检索功能

开始调试后,右键选择搜索,再选择所有模块,选择字符串。

在这里插入图片描述

就会检索出所有模块的字符串,结果如下。

在这里插入图片描述

四、调试功能

1、上一步

当运行到消息盒子时,此时事件在等待确认按钮关闭消息盒子。此时可以不点击确定关闭消息盒子,可以通过上一步去查看,相关的逻辑判断代码。

在这里插入图片描述

相关文章:

  • Python 处理图像并生成 JSONL 元数据文件 - 灵活text版本
  • 机器学习——集成学习基础
  • AI边缘网关_5G/4G边缘计算网关厂家_计讯物联
  • Clion远程开发git触发“No such device or address”的解决方案
  • 数据库笔记(1)
  • Oracle adg环境下调整redo日志组以及standby日志组大小
  • 音视频学习:使用NDK编译FFmpeg动态库
  • Matlab 基于GUI的汽车巡航模糊pid控制
  • 榜单按行显示
  • Baumer工业相机堡盟工业相机的工业视觉是否可以在室外可以做视觉检测项目
  • Fellou智能体调研
  • c# 如何在集合中转换为子类集合
  • 监控易运维管理软件:架构稳健,组件强大
  • 使用 Navicat 将 Excel 导入数据库
  • .NET 8 API 实现websocket,并在前端angular实现调用
  • 代码随想录算法训练营第三十八天|动态规划part6(完全背包2)
  • 设计杂谈-工厂模式
  • Excel-to-JSON插件专业版功能详解:让Excel数据转换更灵活
  • Matlab 基于GUI的图像去雾技术GlobalHisteq、LocalHisteq和Retinex
  • Nginx部署前端项目深度解析
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,市场有望迎来新增量需求
  • 非洲雕刻艺术有着怎样的“变形之美”
  • 云南多地突查公职人员违规饮酒:公安局门口开展酒精吹气测试
  • 习近平会见斯洛伐克总理菲佐
  • 中国词学研究会原会长、华东师大教授马兴荣逝世,享年101岁
  • 晶圆销量上升,中芯国际一季度营收增长近三成,净利增超1.6倍