一,静态分析
导航
| 空格 | 在反汇编文本视图与图形视图之间切换 |
|---|
| esc | 返回上一个查看的位置 |
| G | 跳转到指定地址 |
| X | 查看交叉引用 |
| tab | 在反汇编窗口与伪代码窗口之间切换 |
代码与数据分析
| / | 在伪代码视图注释 |
|---|
| \ | 在反编译后伪代码的界面中隐藏/显示变量和函数的类型描述 |
| : | 在反汇编视图注释 |
| n | 更改变量的名称 |
| y | 更改变量的类型 |
| r | 选中数据转ascll字符串 |
| h | 选中数据转16进制 |
| u | 取消定义函数、代码、数据的定义 |
| shift+F12 | 打开字符串窗口 |
|---|
| alt + t | 搜索文本 |
| ctrl + F | 在函数窗口搜索函数 |
| shift + E | 提取所选数据() |
二,小技巧
1,同时看汇编码和伪代码
将两视图放一起,右键,synchronize with > 伪代码
2,==“Y”==,函数类型识别错误时,选中函数按“Y”修改,f5刷新页面
3, u + c + p
↔ 左右滑动查看完整截图
IDA Pro 动态调试时的常用快捷键如下(主要适用于 Windows/Linux 版本,Mac 下对应 Cmd 替换 Ctrl):
三、动态调试
1,代码相关
| 快捷键 | 功能 |
|---|
| F2 | 在当前行设置/取消断点(反汇编窗口) |
| F4 | 运行到光标所在行(暂时性断点) |
| Alt + B | 打开断点列表窗口,管理所有断点 |
| Ctrl + Alt + B | 添加硬件断点(如访问/写入断点) |
2,单步调试
| 快捷键 | 功能 |
|---|
| F7 | 单步步入,遇到 CALL 指令会进入函数内部 |
| F8 | 单步步过,遇到 CALL 指令直接执行完,不进入内部 |
| F9 | 继续运行,直到遇到下一个断点或程序结束 |
| Ctrl + F7 | 执行直到返回(执行到当前函数返回) |
| Ctrl + F8 | 自动单步(自动单步步过) |
| Ctrl + F11 | 执行到返回(类似 Ctrl+F7) |
| Ctrl + F12 | 执行到地址(弹出输入框,输入目标地址) |
3、进程与线程控制
| 快捷键 | 功能 |
|---|
| Ctrl + F2 | 重新启动调试(重启被调试进程) |
| Ctrl + Alt + F2 | 终止调试(停止调试,回到静态分析界面) |
| Alt + F2 | 关闭调试会话(部分版本) |
| Alt + F5 | 切换调试视图与静态视图(刷新调试信息) |
| |
4,寄存器与内存
| 快捷键 | 功能 |
|---|
| Ctrl + R | 修改当前选中寄存器的值 |
| Alt + G | 跳转到指定地址(在调试时生效) |
| G | 跳转到指定地址/符号(静态分析时也可用) |
| D | 在数据窗口中按字节/字/双字等格式显示(调试时切换显示格式) |
| Ctrl + E | 编辑内存/修改数据(在数据窗口或栈窗口使用) |
5,线程与模块
| 快捷键 | 功能 |
|---|
| Ctrl + T | 打开线程列表窗口 |
| Alt + F9 | 切换到当前执行线程的上下文(当有异常或断点时常用) |
| Ctrl + S | 查看模块列表(所有加载的 DLL 和 EXE) |
如果你是在进行 远程调试(Linux/Android/iOS),这些快捷键在本地调试窗口同样适用
// comments
评论
正在读取评论…