purseclab/Patcherex2
GitHub: purseclab/Patcherex2
Patcherex2 是一个支持多架构的静态二进制修补工具,可对 ELF 文件进行指令、数据和函数的插入、删除与修改操作。
Stars: 56 | Forks: 8
Patcherex2 是原始 [Patcherex](https://github.com/angr/patcherex) 项目的重写改编版本,旨在继承其核心思想并扩展其功能。
## 安装
Patcherex2 可在 PyPI 获取,支持使用 pip 安装。此外,您也可以使用提供的 Docker 镜像。
### pip
```
pip install patcherex2
```
### Docker
```
docker run --rm -it -v ${PWD}:/workdir -w /workdir ghcr.io/purseclab/patcherex2
```
## 用法
使用示例请参阅[此处](https://purseclab.github.io/Patcherex2/examples/insert_instruction_patch/)。
## 文档
Patcherex2 的通用文档和 API 参考请访问 [purseclab.github.io/Patcherex2](https://purseclab.github.io/Patcherex2/)。
## 支持的目标
| | Linux x86 | Linux amd64 | Linux arm | Linux aarch64 | Linux PowerPC (32位) | Linux PowerPC (64位) | Linux PowerPCle (64位) | Linux MIPS (32位) | Linux MIPS (64位) | Linux MIPSEL
(32位) | Linux MIPSEL
(64位) | Linux s390x | SPARCv8 (LEON3) | PowerPC (VLE) (IHEX) |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| InsertDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | RemoveDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | ModifyDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertInstructionPatch (ASM) | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertInstructionPatch (C) | 🟥 | 🟩 | 🟥 | 🟩 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | RemoveInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | ModifyInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertFunctionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟨 | ⬜ | ⬜ | ModifyFunctionPatch | 🟨 | 🟩 | 🟩 | 🟩 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | ⬜ | ⬜ | 🟩 完全功能正常, 🟨 功能受限, 🟥 不工作, ⬜ 未测试, 🟪 开发中 ## 致谢 本项目最初作为 [DARPA AMP](https://www.darpa.mil/program/assured-micropatching) 计划的一部分开发,合同编号为 N6600120C4031。本项目还得到了 NSF 的支持,[奖项编号 2442339](https://www.nsf.gov/awardsearch/show-award?AWD_ID=2442339)。
从最新提交安装
``` pip install git+https://github.com/purseclab/Patcherex2.git ```从最新提交构建
``` docker build -t patcherex2 --platform linux/amd64 https://github.com/purseclab/Patcherex2.git docker run --rm -it -v ${PWD}:/workdir -w /workdir patcherex2 ```(32位) | Linux MIPSEL
(64位) | Linux s390x | SPARCv8 (LEON3) | PowerPC (VLE) (IHEX) |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| InsertDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | RemoveDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | ModifyDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertInstructionPatch (ASM) | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertInstructionPatch (C) | 🟥 | 🟩 | 🟥 | 🟩 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | RemoveInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | ModifyInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ | InsertFunctionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟨 | ⬜ | ⬜ | ModifyFunctionPatch | 🟨 | 🟩 | 🟩 | 🟩 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | 🟨 | ⬜ | ⬜ | 🟩 完全功能正常, 🟨 功能受限, 🟥 不工作, ⬜ 未测试, 🟪 开发中 ## 致谢 本项目最初作为 [DARPA AMP](https://www.darpa.mil/program/assured-micropatching) 计划的一部分开发,合同编号为 N6600120C4031。本项目还得到了 NSF 的支持,[奖项编号 2442339](https://www.nsf.gov/awardsearch/show-award?AWD_ID=2442339)。
标签:amd64, DAST, Hakrawler, x86, 二进制修补, 二进制分析, 二进制重写, 云安全监控, 云安全运维, 云资产清单, 可配置连接, 恶意软件分析, 漏洞分析, 程序分析, 请求拦截, 路径探测, 软件加固, 逆向工具, 逆向工程, 静态分析