IDA
按键 | 作用 |
---|---|
Space | 切换显示 |
C | 转换为代码 |
D | 转换为数据 |
A | 转换为字符 |
* | 转换为数组 |
U | 未定义 |
O | 提取偏移量 |
H | 立即数->DEC |
R | 立即数->STR |
B | 立即数->BIN |
Q | 立即数->HEX |
N | 标签重命名 |
? | 计算器 |
G | 跳转到地址 |
: | 注释 |
Ctrl+X | 查看参考[显示栈] |
X | 查看参考 |
Art+I | 搜索常量 |
Ctrl+I | 再次搜索常量 |
Art+B | 搜索Byte |
Ctrl+B | 再次搜索Byte |
Art+T | 搜索文本 |
Ctrl+T | 搜索下一个 |
Art+P | 编辑当前函数 |
Enter | 跳转 |
Esc | 返回 |
NUM - | 收缩 |
NUM + | 展开 |
F5 | 以伪代码模式显示 |
OllyDBG
快捷键 | 作用 |
---|---|
F7 | 单步进入 |
F8 | 单步步过 |
F9 | 执行至点 |
Ctrl+F2 | 重载程序 |
MSVC
选项 | 作用 |
---|---|
/O1 | 创建尺寸最小文件 |
/Ob0 | 禁止内敛展开 |
/Ox | 启用内存优化 |
/GS- | 禁用安全检查 |
/Fa(file) | 创建汇编文件 |
/Zi | 生成调试信息 |
/Zp(n) | 使封装结构体向n字节边界对齐 |
/MD | 使可执行文件使用MSVCR*.DLL |
GCC
选项 | 作用 |
---|---|
-Os | 优化目标文件大小 |
-O3 | 打开所有-O2的优化选项 |
-regparm= | 设定传参的寄存器数量 |
-o file | 制定输出文件名 |
-g | 产生有调试信息的代码 |
-S | 仅编译到汇编指令,不进行汇编和链接 |
-masm=intel | 汇编指令使用intel语法 |
-fno-inline | 禁止内联函数 |
GDB
选项 | 作用 |
---|---|
break filename.c:num | 在源程序第几行设置断点 |
break function | 函数入口设置断点 |
break *address | 某地址断点 |
b | 同break |
p variable | 显示变量的值 |
run/r | 运行 |
cont | 继续运行 |
c | 同上 |
bt | 打印当前栈所有信息 |
set disassembly-flavor intel | 英特尔语法 |
disas | 查看当前函数汇编指令 |
disas function | 查看函数汇编指令 |
disas function,+50 | 查看函数的部分汇编指令 |
disas $eip,+0x10 | 查看函数的几条汇编指令 |
disas/r | 查看接下来的几条 |
info registers | 查看opcode |
info float | 查看CPU |
info locals | 查看FPU |
x/w … | 列出全局变量 |
x/w $rdi… | 读内存,word型 |
x/10w… | 从RDI指定地址读数,word型 |
x/s… | 读取并显示为10个word型 |
x/i… | 读取内存,并显示为字符串 |
x/10c… | ~,并显示为汇编 |
x/b… | ~,并显示10个字符 |
x/h… | ~,并显示为byte |
x/g… | 读取并显示16位halfword型数据 |
finish | 读取并显示giant words(64 bits) |
next | 执行到函数退出 |
step | 单步语句(不步入) |
set step-mode on | 单步步入跟踪调试 |
frame n | 打开step-mode |
info break | 切换栈帧 |
del n | 查看断点 |
set args… | 删除断点 |
PEDA
命令 | 作用 |
---|---|
aslr | 显示/设定GDB的ASLR(地址空间配置随机加载) |
checksec | [!]检查二进制文件的各种安全选项 |
dumpargs | 函数将要被调用时,显示将要被传入函数的所有参数(默认会在反汇编代码下方自动显示) |
dumprop | 在给定内存范围中Dump出所有ROP gadgets |
elfsymbol | 获取elf的plt表 |
elfheader | 获得调试的elf的头信息 |
lookup | 搜索内存区间内的地址 |
patch | [!]从地址[str/hex/int]开始修补内存 |
pattern | 生成字符串模板(create size生成/offset value定位) |
ropgadget | [!]获取ROP gadgets |
searchmem | 内存中查找,支持正则 |
shellcode | 生成shellcode |
skeleton | 生成python exp模板 |
readelf | 获取elf文件头 |
procinfo | /proc/pid list |
vmmap | [!]可以用来查看栈、bss段是否可以执行 |