工具

decomp-permuter

随机或系统地改写单个 C 函数,逐个重新编译变体并与目标文件评分对比,以寻找与原编译输出一致的写法。可用 PERM 宏指定手动备选写法,可选的 permuter@home 模式能把运行分发给其他工作节点。

使用条件与局限

  • 每个输入目录需要只含一个函数的 .c 文件、待匹配的 .o 目标文件、项目专用的编译脚本和设置 .toml;已配置好的 Make 或 Ninja 项目可用 import.py 自动生成。README 列出的支持范围为 MIPS(IDO,GCC 可能可用)、PowerPC 和 ARM32 汇编。
  • 需要 Python 3 和 toml;pynacl 与 Levenshtein 为可选依赖。permuter@home 需由已加入网络的成员授权,只支持有限的编译器,不能在原生 Windows 上运行;工作节点还需要 Docker。
  • 得分为零只表示评分所用的反汇编一致,不代表 C 代码合理。README 提醒随机改写常会找到不合常理的变化,仍需由人挑选可读、未过拟合的写法;工具不会恢复名称、类型或语义。
  • MIT 许可证。没有打包发布版本;审阅时最后一次提交为 2026-10-06。

关于此条目

类型
工具
类别
游戏分析工具
关联
基础工具
目标
二进制 · 游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. https://github.com/simonlindholm/decomp-permuter/blob/8556c81d80d1c1af98a858c8f4dc951357f29139/README.md
  2. https://github.com/simonlindholm/decomp-permuter/blob/8556c81d80d1c1af98a858c8f4dc951357f29139/LICENSE