{
  "added_at": "2026-10-20",
  "additional_evidence_urls": [
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/docs/validation-0.3.md",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/docs/benchmark-0.3.json",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/docs/architecture.md",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/docs/configuration.md",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/examples/gta_timer/README.md",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/CHANGELOG.md",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/pyproject.toml",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/.github/workflows/ci.yml",
    "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/LICENSE",
    "https://github.com/Dryxio/reagent/releases/tag/v0.4.0",
    "https://github.com/Dryxio/ghidra-bridge/blob/faaf05363796cbc43eac7924f3b6981cd5e40619/README.md"
  ],
  "category": "agent-workflows",
  "description_en": "An open-source Python agent, published on PyPI as auto-re-agent, that drafts C/C++ implementations of functions in a compiled program from Ghidra evidence and has a separately configurable checker model review each draft in a bounded fix loop. A candidate is accepted only after a structural comparison with the decompile, assembly, control-flow and P-code evidence, the project’s own build, test and optional differential commands, and 11 heuristic parity signals. The README calls these gates conservative evidence, not proof of equivalence, and the tool writes candidates to an overlay rather than patching the source tree.",
  "description_zh": "开源 Python 智能体，以 auto-re-agent 之名发布于 PyPI。它依据 Ghidra 提供的证据为已编译程序中的函数起草 C/C++ 实现，再由可单独配置的检查模型在有轮数上限的修复循环中审阅每份草稿。候选代码须先与反编译、汇编、控制流和 P-code 证据做结构比对，再通过项目自己的构建、测试及可选的差分命令和 11 项启发式一致性信号，才会被接受。README 称这些关卡只是保守的证据，并非等价性证明；工具把候选代码写入覆盖层，而不直接修改源码树。",
  "entry_url": "https://awesomerea.org/resources/reagent-cpp-reconstruction-agent/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/reagent-cpp-reconstruction-agent/",
  "evidence_url": "https://github.com/Dryxio/reagent/blob/d12cea338c61898b06a86fe8adb25275fa9d5615/README.md",
  "group": "agents",
  "id": "reagent-cpp-reconstruction-agent",
  "json_url": "https://awesomerea.org/resources/reagent-cpp-reconstruction-agent/record.json",
  "kind": "integration",
  "markdown_url": "https://awesomerea.org/resources/reagent-cpp-reconstruction-agent/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/reagent-cpp-reconstruction-agent/index.md",
  "name": "ReAgent",
  "name_zh": "ReAgent C/C++ 函数重建智能体",
  "record_type": "resource",
  "relationship": "independent-agent-integration",
  "requirements": [
    "The reviewed pin follows the v0.4.0 release of 2026-09-09 by one documentation commit; pyproject.toml classifies the package as alpha. The re-agent CLI covers init, plan, reverse, parity, status, estimate and evidence commands, with generic-cpp, windows-x64, gta-reversed and openrct2 profiles, the last two carrying hook and stub patterns for those existing reimplementation projects. Outputs are per-function candidate code, per-call prompt and response logs, checkpoints and a knowledge graph; the README says it never commits, pushes or overwrites the original tree.",
    "Users supply the target program, a local Ghidra project in which it is imported, and a C/C++ project whose matching function bodies candidates replace in a temporary copy; the FAQ says useful results depend on that project’s source context, types, symbols and validation commands. Evidence comes from Ghidra exports read through the author’s separate ghidra-ai-bridge, whose headless export needs PyGhidra and a local Ghidra installation; without Ghidra only source-only parity checks run. No target binary or Ghidra export is bundled, and the GTA example needs the user’s own San Andreas executable.",
    "It needs Python 3.10 or later; CI runs the tests on Linux with Python 3.10–3.13, on Windows with 3.12 and on macOS with 3.13. At least one model provider is required: a Claude or OpenAI-compatible API key, or an authenticated local Claude Code or Codex CLI, with reverser and checker free to use different providers at the user’s cost. Build, test and runtime commands are project-owned; argument arrays run directly on Windows and POSIX, legacy string commands need /bin/sh, and their results count as acceptance evidence only after trust_configured_commands is set explicitly.",
    "docs/validation-0.3.md reports 131 tests passing locally on Python 3.13 with Ruff and strict mypy, and CI skips tests that need a model or Ghidra. Its one reference experiment, dated 2026-09-04, generated three GTA San Andreas timer functions with Claude CLI; each is reported to have passed review in one round, compiled through the example adapter and matched the original x86 code under Unicorn on seven inputs, with all three wrong-output controls detected. The author calls these 21 matching observations.",
    "The repository and ghidra-ai-bridge are MIT-licensed; Ghidra, model services and the analysed programs keep their own terms. The README warns that configured commands are arbitrary project-owned commands to be trusted only when the project owner controls them, and that the Ghidra integration has to be tested in the user’s own environment."
  ],
  "requirements_zh": [
    "所审阅的固定版本是 2026 年 9 月 9 日 v0.4.0 发布之后的一次文档提交；pyproject.toml 将该包标为 Alpha 阶段。re-agent 命令行提供 init、plan、reverse、parity、status、estimate 与 evidence 等命令，并附带 generic-cpp、windows-x64、gta-reversed 和 openrct2 四种配置模板，后两种带有针对这两个现有重新实现项目的钩子与桩函数模式。输出包括每个函数的候选代码、每次调用的提示与回复日志、检查点和知识图谱；README 称它从不提交、推送或覆盖原始源码树。",
    "使用者需自备目标程序、已导入该程序的本地 Ghidra 项目，以及一个 C/C++ 项目，候选代码会在其临时副本中替换对应的函数体；常见问题说明，结果是否有用取决于该项目的源码上下文、类型、符号和验证命令。证据来自 Ghidra 导出数据，经作者另行发布的 ghidra-ai-bridge 读取，其无界面导出需要 PyGhidra 和本地安装的 Ghidra；没有 Ghidra 时只能运行仅基于源码的一致性检查。仓库不附带任何目标二进制或 Ghidra 导出，GTA 示例需要使用者自己的 San Andreas 可执行文件。",
    "需要 Python 3.10 或更高版本；CI 在 Linux 上用 Python 3.10–3.13、在 Windows 上用 3.12、在 macOS 上用 3.13 运行测试。至少需要一种模型来源：Claude 或 OpenAI 兼容 API 密钥，或已登录的本地 Claude Code 或 Codex 命令行；起草模型与检查模型可使用不同来源，费用由使用者承担。构建、测试和运行命令由项目自行提供：参数数组形式可在 Windows 和 POSIX 上直接执行，旧式字符串命令需要 /bin/sh，且只有显式设置 trust_configured_commands 后，其结果才算作验收证据。",
    "docs/validation-0.3.md 报告 131 项测试在本地 Python 3.13 上全部通过，Ruff 与严格模式 mypy 检查亦通过；CI 会跳过需要模型或 Ghidra 的测试。其中唯一的参考实验日期为 2026 年 9 月 4 日，用 Claude CLI 生成了 GTA San Andreas 的三个计时器函数；据报告，每个函数都在一轮审阅内通过，经示例适配器编译，并在 Unicorn 中以七组输入与原始 x86 代码结果一致，三个故意出错的对照也全部被检出。作者称这是 21 次一致的观测。",
    "仓库与 ghidra-ai-bridge 均采用 MIT 许可；Ghidra、模型服务及被分析的程序仍受各自条款约束。README 提醒，所配置的命令是由项目自行提供的任意命令，只有在项目所有者掌控时才应信任，而 Ghidra 集成需要在使用者自己的环境中测试。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/Dryxio/reagent",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
