案例
GoonFi V2:Solana 程序的逐字节一致 Rust 重编译
OtterSec 研究人员介绍了一套智能体流程:为闭源的 GoonFi V2 Solana 程序重建 Rust 源码,直至用原工具链重新构建即可复现所部署的 ELF。逐函数指令评分、确定性合并评审,以及对汇编等刷分写法的禁用约束引导智能体工作;对齐函数顺序和 panic 位置路径后,最后的差异得以消除。文章与配套仓库记录了方法和验证脚本,内部工具及智能体对话记录仍未公开。
- 目标
- 二进制
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 来源复核于
使用条件与局限
- 目标为在 slot 448984043 部署的 GoonFi V2;链上程序于 2026-10-06 升级,因此验证使用较早的 ELF。
- 重建使用已部署二进制、程序 IDL 与链上交易。核心智能体框架、合并评审器及对话记录未公开。
- build.sh 需要 Linux x86-64,并下载 Solana platform-tools v1.48(rustc 1.84.1-dev、LLVM 19.1.7)。VERIFY.sh 需要 Alchemy 归档密钥或其他归档 RPC,从部署交易写入中恢复原始 ELF 并逐字节比较。
- 配套仓库未声明重建源码的许可证;原闭源程序的权利归其所有者。
引用
BibTeX
@misc{goonfi-v2-rust-recompilation-case,
title = {{GoonFi V2: byte-identical Rust recompilation of a Solana program}},
howpublished = {\url{https://osec.io/blog/goonfi-decompilation/}},
url = {https://osec.io/blog/goonfi-decompilation/},
urldate = {2026-10-18},
note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/goonfi-v2-rust-recompilation-case/}}
}纯文本
GoonFi V2: byte-identical Rust recompilation of a Solana program。https://osec.io/blog/goonfi-decompilation/(访问于 2026-10-18)。Awesome REA 条目:https://awesomerea.org/zh/resources/goonfi-v2-rust-recompilation-case/
有帮助?在 GitHub 上为 Awesome REA 加星2.4k
关于此条目
说明已依据一手来源复核。
一手来源
- https://osec.io/blog/goonfi-decompilation/
- README.md GitHub · renato-osec/goonfi-v2-decompiled · 修订 381cc31
- build.sh GitHub · renato-osec/goonfi-v2-decompiled · 修订 381cc31
- VERIFY.sh GitHub · renato-osec/goonfi-v2-decompiled · 修订 381cc31
- verify_onchain.py GitHub · renato-osec/goonfi-v2-decompiled · 修订 381cc31
- Cargo.toml GitHub · renato-osec/goonfi-v2-decompiled · 修订 381cc31
- https://x.com/pashov/status/2111066785890054605