cursey/regenny
GitHub: cursey/regenny
一款用于交互式重构结构并生成 C++ 头文件的逆向工程工具,弥补了结构分析与 SDK 生成之间的流程空白。
Stars: 275 | Forks: 44
# ReGenny
[](https://github.com/cursey/regenny/actions/workflows/build.yml)
[用法与脚本文档](https://praydog.github.io/regenny-book/)
ReGenny 是一个用于交互式重构结构并生成可用 C++ 头文件的逆向工程工具。头文件的生成由姊妹项目 [SdkGenny](https://github.com/cursey/sdkgenny) 完成。

## 状态
ReGenny 仍处于开发早期阶段,但已可使用。事情可能会意外变化。现有项目可能会中断并需要更新。计划中还有许多功能。会出现错误。
## 下载
ReGenny 处于活跃开发中。任何已发布的构建(或缺失)都可能过时。如果你想在当前形式下使用 ReGenny,建议自行构建 ReGenny。不过,你可以从 GitHub 操作的[此处](https://github.com/cursey/regenny/actions)获取最新的构建产物。
## 构建
ReGenny 通过 [cmkr](https://github.com/build-cpp/cmkr) 使用 [CMake](https://cmake.org/)。
从命令行:
```
cmake -B build
cmake --build build
```
## MCP 集成
ReGenny 在 `localhost:12025` 上暴露一个 HTTP API 用于工具集成。`mcp-server/` 中包含一个用于 AI 辅助逆向工程的 MCP 服务器。请参阅 `AGENT.md` 获取代理导航指南。
## 设计决策
* ReGenny 使用明文项目文件而非二进制文件(`.genny` 和 `.json`)。明文格式更适合包含在 Git 仓库中,也便于在 ReGenny 项目上与他人协作,因为你可以对项目文件进行差异/合并。
* 类似 [ReClass.NET](https://github.com/ReClassNET/ReClass.NET) 的树状显示,但你可以通过 `.genny` 文件构建树。
* ReGenny 使用 [SdkGenny](https://github.com/cursey/sdkgenny) 进行输出。[SdkGenny](https://github.com/cursey/sdkgenny) 的主要目标之一是生成优质输出,ReGenny 借此获得全部收益。代替单一的大型头文件,ReGenny 使用 [SdkGenny](https://github.com/cursey/sdkgenny) 生成适合包含到项目中的头文件层次结构。如果你的项目已经在使用 [SdkGenny](https://github.com/cursey/sdkgenny),那么你甚至无需生成头文件,因为你可以直接使用 `.genny` 文件。
* 由于 ReGenny 使用 [SdkGenny](https://github.com/cursey/sdkgenny),它支持 `.genny` 文件的所有功能:
* 命名空间
* 枚举
* 结构体
* 类
* 函数原型
* 静态函数原型
* 位域
* 数组
* 多维数组
* 指针
* 命名空间可以相互嵌套
* 结构体、枚举和类可以嵌套在其他结构体/类中
* 引入你自己的外部类型
* `.genny` 格式足够灵活,能够直接解析简单的 C/C++ 结构(几乎)无需修改即可导入现有结构到 ReGenny 中。
标签:AI辅助逆向, Bash脚本, CMake构建, C++ 头文件生成, HTTP API, MCP集成, Python脚本, SDK生成, URL提取, 云资产清单, 反编译, 可视化界面, 开源逆向工具, 树形结构显示, 版本控制友好, 结构重构, 跨平台开发, 逆向工程, 项目文件编辑