ROPgadget基本用法
## 工具介绍 ROPgadget工具可以帮助你寻找合适的gadgets,在编写你的ROP exp的时候有很大作用。 ROPgadget支持 x86, x64, ARM, ARM64, PowerPC, SPARC和MIPS架构下的ELF/PE/Mach-O文件格式。 ## 工具安装 安装pwntools自带 ## 基本用法 ``` <pre class="wp-block-code">```bash usage: ROPgadget.py [-h] [-v] [-c] [--binary <binary>] [--opcode <opcodes>] [--string <string>] [--memstr <string>] [--depth <nbyte>] [--only <key>] [--filter <key>] [--range <start-end>] [--badbytes <byte>] [--rawArch <arch>] [--rawMode <mode>] [--rawEndian <endian>] [--re <re>] [--offset <hexaddr>] [--ropchain] [--thumb] [--console] [--norop] [--nojop] [--callPreceded] [--nosys] [--multibr] [--all] [--noinstr] [--dump] ``` ``` ### <a></a>参数 ```
```bash
 -h, --help           显示帮助文档
 -v, --version        版本号
 -c, --checkUpdate    检测新版本是否可用
 --binary  指定二进制文件进行分析
 --opcode  在可执行段中查找opcode
 --string  在可读的段中查找字符串
 --memstr  查找单个byte在所有的可执行段中
 --depth  搜索引擎的深度
 --only  只显示特别的指令
 --filter  过滤特定指令
 --range  在地址之间寻找(0x...-0x...)
 --badbytes  拒绝特定指令在gadget的地址下
 --rawArch  指定文件架构
 --rawMode  指定源文件的mode
 --rawEndian  指定源文件的endianness
 --re  正则表达式
 --offset  指定gadget的地址偏移
 --ropchain           ROP chain的生成
 --thumb              在ARM架构下使用搜索引擎thumb 模式
 --console            使用交互终端对于搜索引擎
 --norop              禁止ROP搜索引擎
 --nojop              禁止JOP搜索引擎
 --callPreceded       仅显示call-preceded的gadgets
 --nosys              禁止SYS搜索引擎
 --multibr            允许多分枝gadgets
 --all                禁止删除重复的gadgets,即显示所有
 --noinstr            禁止gadget指令终端打印
 --dump               输出gadget bytes
```
```
## 用法示例
寻找控制寄存器的gadgets:
``` 
```bash
$ ROPgadget --binary  --only 'pop|ret' | grep  ```
```
寻找保存`int80`的地址:
``` 
```bash
$ ROPgadget --binary  --only 'int'
```
```
寻找保存`&#039;/bin/sh&#039;`的地址:
``` 
```bash
$ ROPgadget --binary  --string '/bin/sh'
```
```
上一篇
下一篇