一、IDA快捷键

二、类型

三、逆向常用操作
1.查找交叉引用(Xrefs)
在字符串所在行按 Ctrl + X,查看哪些代码引用了这个字符串。通常弹窗会调用类似 MessageBox、DialogBoxParam、CreateDialog 等 API。
2.搜索API调用
在 IDA 中:
Alt + T 打开文本搜索
搜索 "MessageBox"
3.使用资源查看器
在 IDA 中按 Shift + F7 查看资源段
查找对话框资源,可能弹窗是作为资源定义的
4.在 IDA 的调试模式下进行堆栈回溯的方法:
在 IDA 调试器中:
点击 暂停按钮(或按 F2 在当前位置设断点,然后暂停)
或者使用 Debugger → Pause process
查看调用堆栈
方法一:调用堆栈窗口
菜单:Debugger → Debugger windows → Call stack(或按 Ctrl+Alt+K)
这里会显示完整的函数调用链
方法二:堆栈视图
在 IDA 视图区域选择 Stack view 选项卡
5.在 IDA 中转到指定地址
按 G 键(跳转到地址)
输入 14000A557
5.如何在IDA中添加注释
1. 常规注释(可重复)
快捷键: :
位置: 在想要添加注释的反汇编行按 :
特点: 同一地址的重复注释会覆盖前一个
2. 可重复注释
快捷键: ;
位置: 在反汇编行按 ;
特点: 可以在同一地址添加多个注释
3. 函数注释
位置: 在函数开始处
方法: 点击函数名,然后按 : 或 ;
用途: 描述函数的功能和参数
4. 变量重命名
快捷键: N
位置: 选中变量或地址后按 N
用途: 给变量、函数取有意义的名称
5. 添加书签
快捷键: Ctrl+M
用途: 标记重要位置方便快速跳转
6. 结构体定义
快捷键: Insert → Struct
用途: 定义数据结构,提高反汇编可读性
6. IDA 中的箭头颜色含义
绿色箭头
含义: 条件跳转的 "跳转" 路径
对应: 当条件为真时会执行的路径
在你的代码中: js loc_14000A949 的绿色箭头指向许可证检查失败的处理代码
红色箭头
含义: 条件跳转的 "不跳转" 路径
对应: 当条件为假时会执行的路径(继续顺序执行)
在你的代码中: js loc_14000A949 的红色箭头指向许可证检查成功后的正常执行路径
蓝色箭头
含义: 无条件跳转(如 jmp 指令)
对应: 总是会执行的跳转
7.调试断点的快捷键
基本断点操作
设置/取消断点
F2 - 在当前位置设置/取消断点
Shift+F2 - 打开断点列表窗口
运行控制
F9 - 开始调试/继续运行
F8 - 单步跳过 (Step Over)
F7 - 单步进入 (Step Into)
Ctrl+F7 - 单步跳出 (Step Out)
F4 - 运行到光标处 (Run to cursor)
高级调试快捷键
断点管理
Ctrl+F2 - 终止调试
Alt+F2 - 删除所有断点
视图切换
F6 - 切换反汇编视图
Ctrl+Alt+M - 打开内存映射
Ctrl+Alt+L - 打开日志窗口
寄存器与内存
Ctrl+Alt+R - 寄存器窗口
Ctrl+Alt+S - 堆栈窗口
Ctrl+Alt+K - 调用堆栈
8.查看内存内容的几种方法
1. 在反汇编窗口中查看
快捷键: 在 RAX 值上 右键 → Jump to address
或者按 G 键,输入 2AF0180
这会直接跳转到该内存地址查看内容
2. 在内存窗口中查看
快捷键: Ctrl+Alt+M 打开内存映射窗口
在地址栏输入 2AF0180
可以看到该地址开始的内存数据(十六进制+ASCII)
3. 在堆栈窗口中查看
快捷键: Ctrl+Alt+S 打开堆栈窗口
如果这是堆栈地址,会显示对应的变量值
4. 使用数据查看器
在反汇编窗口中,在地址上 右键 → Open data view
或者按 Ctrl+D 切换到数据视图
9.查看断点列表
方法1: 查看断点列表
快捷键: Ctrl+Alt+B
或者:
菜单: Debugger → Breakpoints → Breakpoint list
这会显示所有设置的断点,包括:
地址
模块
状态(启用/禁用)
类型
方法2: 在反汇编视图中查看
已启用断点: 红色高亮显示
已禁用断点: 灰色显示
在反汇编窗口中,有断点的行会显示特殊的颜色标记。
方法3: 使用导航功能
跳到下一个断点: Ctrl+Alt+N
跳到上一个断点: Ctrl+Alt+P
这会在各个断点之间循环跳转。
方法4: 搜索特定函数的断点
如果你记得在哪个函数设置了断点:
跳到该函数(按 G 输入函数名)
在函数内查看红色高亮的行
方法5: 使用断点窗口
菜单: View → Open subviews → Breakpoints
10.编辑汇编指令
菜单: Edit → Patch program → Assemble...
输入地址(如 000000014000B04F)
输入新指令(如 jmp 000000014000B06B)
确认
批量NOP替换
步骤:
选中从 000000014000B04A 到 000000014000B065 的所有指令
右键 → Patch program → Change byte...
全部填充为 90(nop 的机器码)
11.如何保存补丁
方法1: 生成补丁文件(推荐)
步骤:
菜单: File → Produce file → Create EXE file
或者: File → Produce file → Create backport file
选择保存位置和文件名
IDA 会生成包含所有修改的新文件
直接导出补丁后的 EXE
点击菜单:
Edit → Patch program → Apply patches to input file
选择目标路径(默认覆盖原文件,不建议)。
建议保存为一个新文件,例如:
my_program_patched.exe
IDA 会自动将修改的字节写入到该新文件。
3万+

被折叠的 条评论
为什么被折叠?



