sashs/Ropper
GitHub: sashs/Ropper
一款跨架构、跨平台的多功能二进制分析工具,专注于 ROP/JOP gadget 搜索与自动化利用链构建。
Stars: 2100 | Forks: 221
# Ropper
[](https://travis-ci.org/sashs/Ropper)
您可以使用 ropper 来显示不同文件格式的二进制文件信息,
并且您可以搜索 gadgets 来为不同的架构构建 rop 链(x86/X86_64, ARM/ARM64, MIPS/MIPS64, PowerPC/PowerPC64, SPARC64)。
为了进行反汇编,ropper 使用了很棒的 [Capstone Framework](http://www.capstone-engine.org)。
## 安装
使用 PyPi 安装 [Capstone](http://www.capstone-engine.org):
```
$ sudo pip install capstone
```
使用 PyPi 安装 [filebytes](https://github.com/sashs/filebytes):
```
$ sudo pip install filebytes
```
可选(运行 ropper 不需要,仅用于查找 gadgets):
安装 [Keystone](http://www.keystone-engine.org):
```
$ sudo pip install keystone-engine
```
安装并运行 Ropper
```
$ python setup.py install
$ ropper
```
您也可以使用 pip 安装 Ropper
```
$ pip install ropper
```
如果您愿意,可以在不安装的情况下运行 Ropper
```
$ ./Ropper.py
```
如果您不想安装 filebytes,filebytes 是 ropper 仓库的一个子模块。这意味着您不需要安装 filebytes 和 ropper。
```
$ git clone https://github.com/sashs/ropper.git
$ cd ropper
$ git submodule init
$ git submodule update
$ ./Ropper.py
```
此功能仍在开发中!
Ropper 有一个语义搜索命令,它提供了搜索 gadgets 的可能性。
```
$ ropper --file
--semantic ""
```
使用语义搜索需要以下可选依赖项:
安装 [pyvex](https://github.com/angr/pyvex)
```
$ sudo pip install pyvex
```
安装 [z3py](https://github.com/Z3Prover/z3)
```
$ python scripts/mk_make.py
$ cd build
$ make
$ sudo make install
```
## 当前可能的约束
```
reg == reg - assign register to another
reg == number - assign number to register
reg == [reg] - assign memory to register
reg += number/reg/[reg]
reg -= number/reg/[reg]
reg *= number/reg/[reg]
reg /= number/reg/[reg]
```
## 约束示例
```
eax==1 !ebx - set eax to 1 and look for gadgets which does not clobber ebx
```
## 用法
```
usage: Ropper.py [-h] [--help-examples] [-v] [--console]
[-f [ ...]] [-r] [-a ]
[--section ] [--string []] [--hex]
[--asm [ [H|S|R] ...]] [--disasm ]
[--disassemble-address ] [-i] [-e]
[--imagebase] [-c] [-s] [-S] [--imports] [--symbols]
[--set 标签:Capstone框架, CTF工具, DNS 反向解析, Exploitation, Gadgets搜索, Hakrawler, MIPS, PowerPC, ROP链构造, SPARC, x86, 二进制分析, 云安全监控, 云安全运维, 反汇编工具, 漏洞搜索, 语义搜索, 跨平台架构, 逆向工具, 静态分析