常用命令/快捷方式
IDA:
静态调试
交叉引用:X
地址跳转:G
书写注释:/(伪代码) ;(反编译窗口)
修改符号名:N
数据类型操作:Y
修改数据长度:D
函数操作:
- 定义函数:P
- 删除函数:Delete/U
- 修改函数范围:Ctrl+E(函数窗口) Alt+P(反汇编)
代码与数据转换:
- U取消已有数据
- D变成数据
- C变成指令
- A以该位置为起点定义一个以\0结尾的字符串类型
- O将此处定义为一个地址偏移
创建数组:*
创建结构体:Shift+f1–local types–insert
提取数据:shift+E
函数调用图:View–Graphs–Function calls
常数搜索:Alt+I
Patch:Edit -> Patch program -> Change byte
要永久 Patch, Edit -> Patch program -> Apply patches to input file
动态调试
选择 Debugger -> Select debugger,选择合适的调试器:
如果是 exe,可以使用 Local Windows Debugger
如果是 ELF, 则选择 Remote Linux Debugger
选择 Debuugger -> Start Process 或者按 F9 开始调试。
- 继续运行:F9
- 单步步入:F7
- 单步步过:F8
- 执行到返回:Ctrl +F7
- 执行到光标处:F4
- 添加、删除断点:F2
Ctrl+Alt+B 打开断点列表
Ctrl+E 进行编辑
F2改内存数据
选择了调试器之后,打开 Debugger -> Process options,在 Parameters 一栏写入命令行参数即可。
x96dbg
常用调试快捷键:
- F4:运行到光标
- F7:单步步入
- F8:单步步过
- F9:运行程序
- Ctrl+F9:执行到函数返回处
UPX工具壳
加壳upx -o packed.exe xxx.exe
脱壳upx -d xxx.exe
Vim
现在,你知道如何在 Insert 和 Normal 模式下切换了。下面是一些命令,可以让你在 Normal 模式下幸存下来:
i
→ Insert 模式,按ESC
回到 Normal 模式.x
→ 删当前光标所在的一个字符。:wq
→ 存盘 + 退出 (:w
存盘,:q
退出) (陈皓注::w 后可以跟文件名)dd
→ 删除当前行,并把删除的行存到剪贴板里p
→ 粘贴剪贴板推荐:
hjkl
(强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注:j
就像下箭头。:help <command>
→ 显示相关命令的帮助。你也可以就输入:help
而不跟命令。(陈皓注:退出帮助需要输入:q)
sudo su 炒鸡
reboot 重启
docker
1 | docker images |
1181 1748 300