常用命令/快捷方式

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

现在,你知道如何在 InsertNormal 模式下切换了。下面是一些命令,可以让你在 Normal 模式下幸存下来:

  • iInsert 模式,按 ESC 回到 Normal 模式.
  • x → 删当前光标所在的一个字符。
  • :wq → 存盘 + 退出 (:w 存盘, :q 退出) (陈皓注::w 后可以跟文件名)
  • dd → 删除当前行,并把删除的行存到剪贴板里
  • p → 粘贴剪贴板

推荐:

  • hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头。
  • :help <command> → 显示相关命令的帮助。你也可以就输入 :help 而不跟命令。(陈皓注:退出帮助需要输入:q)

sudo su 炒鸡

reboot 重启

docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker images
#查看镜像
docker run -d [images_name/id] /bin/bash
#run:运行 镜像 从而生成 容器; -d:后台运行容器; [images_name/id]:换成镜像的id或者名称; /bin/bash:运行镜像的权限
docker ps
#查看在运行的容器
docker ps -a
#查看所有容器
docker exec -it [container-id] /bin/bash
#进入容器; exec:在运行的容器中执行命令; -i:互交界面, -t:分配一个伪终端; container-id:换成容器id
docker rm [container-id]
#删除容器
docker rmi [images-name]
#删除镜像

1181 1748 300