redballoonsecurity/ofrak

GitHub: redballoonsecurity/ofrak

一个功能完整的嵌入式固件逆向分析与二进制修改平台,支持解包、分析、修改和重打包的完整工作流。

Stars: 2027 | Forks: 146

# OFRAK OFRAK (Open Firmware Reverse Analysis Konsole) 是一个二进制分析与修改平台。OFRAK 结合了以下能力: - **识别**和**解包**多种二进制格式 - 使用经过实战检验的逆向工程工具**分析**解包后的二进制文件 - 使用强大的打补丁策略**修改**和**重打包**二进制文件 OFRAK 支持除用户空间可执行文件之外的一系列嵌入式固件文件格式,包括: - 压缩文件系统 - 压缩且带校验和的固件 - 引导加载程序 (Bootloaders) - RTOS/OS 内核 OFRAK 为用户提供了: - **图形用户界面 (GUI)**,用于交互式探索和可视化二进制文件 - **Python API**,用于编写可读且可复现的脚本,这些脚本可应用于整类二进制文件,而不仅仅是某一个特定的二进制文件 - 递归**识别、解包和重打包**多种文件格式,从 ELF 可执行文件、到文件系统归档、再到压缩和带校验和的固件格式 - 内置、可扩展的**与强大分析后端集成**(angr, Binary Ninja, Ghidra, IDA Pro) - **设计即支持扩展**,通过通用接口轻松编写额外的 OFRAK 组件,并增加对新文件格式或二进制修补操作的支持 访问 [ofrak.com](https://ofrak.com) 获取更多详情。 ## GUI 前端 基于 Web 的 GUI 视图提供了一个可导航的资源树。对于选定的资源,它还提供:元数据、十六进制或文本导航,以及用于通过熵、字节类或幅度进行快速导航的缩略图侧边栏。GUI 还允许执行通常通过 Python API 可用的操作,如注释、解包、分析、修改和打包资源。
## 入门指南 ### 安装方式 OFRAK 可以通过三种方式安装: | 方式 | 最适合 | 安装命令 | |--------|----------|---------------------| | **PyPI** | 快速测试,喜欢自行管理环境的用户 | `pip install ofrak` | | **Docker** | 包含所有依赖项的完整环境,设置一致 | `python3 build_image.py --config ofrak-ghidra.yml --base --finish` | | **Source** | 贡献者,开发者,修改 OFRAK 代码 | 克隆仓库 + `make develop` | 参阅 ([Install](docs/install/index.md)) 获取详细的安装说明。 请注意,OFRAK 使用 Git LFS —— 更多详情请参见 [从源码安装](docs/install/source.md)。 ## 文档 OFRAK 拥有常规文档和 API 文档。两者均可在 [ofrak.com/docs](https://ofrak.com/docs) 查看。 如果您希望修改文档或自行提供服务,请遵循 [`docs/README.md`](docs/README.md) 中的说明。 ## 许可证 本仓库中的代码附带 [OFRAK Community License](LICENSE),该许可证旨在用于教育用途、个人开发或仅供娱乐。 如果社区许可证适合您,请运行 `ofrak license --community --i-agree` 以接受它! 有兴趣将 OFRAK 用于商业目的的用户可以申请 Pro 或 Enterprise 许可证。更多信息请参见 [OFRAK Licensing](https://ofrak.com/license/)。 ## 支持 如有任何关于 OFRAK 的问题或疑问,请联系 [ofrak@redballoonsecurity.com](mailto:ofrak@redballoonsecurity.com),或在 [the OFRAK Slack](https://join.slack.com/t/ofrak/shared_invite/zt-1jku9h6r5-mY7CeeZ4AT8JVmu5YWw2Qg) 上给我们留言。我们期待您的反馈!注册 [OFRAK Mailing List](https://ofrak.com/sign-up) 以接收关于 OFRAK 代码改进和新功能的每月更新。 *本材料部分基于 DARPA 合同号 N66001-20-C-4032 支持的工作。本材料中表达的任何观点、发现、结论或建议均为作者个人观点,并不一定反映 DARPA 的观点。分发声明 “A”(已批准公开发布,分发无限)。*
标签:angr, Binary Ninja, Binary Patching, Bootloader, ELF, Ghidra, GUI, IDA Pro, Python, RTOS, TLS配置检查, 二进制修改, 二进制分析, 二进制发布, 云安全运维, 云资产清单, 固件安全, 固件解包, 固件逆向, 嵌入式安全, 开源工具, 恶意代码分析, 文件系统, 无后门, 漏洞分析, 熵分析, 网络安全, 解包与重打包, 请求拦截, 路径探测, 逆向工具, 逆向工程, 配置文件, 隐私保护