工具
LuaJIT Decompiler v2 字节码反编译器
将 LuaJIT 字节码文件反编译回 Lua 源码,作为旧版 Python LuaJIT 反编译器的替代品编写。README 称它完整支持 goto 和去除调试信息的字节码,包括还原局部变量和上值;其布尔表达式恢复基于一篇已发表的反编译算法论文。它可处理单个文件或整个文件夹,输出 .lua 文件。
使用条件与局限
- 使用者需提供 LuaJIT 字节码文件或包含这些文件的文件夹,可拖放到程序上或通过命令行传入;反编译出的 .lua 文件默认写入可执行文件旁的 output 文件夹,也可另行指定。选项包括按扩展名筛选、忽略调试信息、跳过失败文件而不弹出断言窗口,以及调整输出格式以减少差异。
- 读取器接受第 1 和第 2 版字节码格式,拒绝大端字节码;README 将大端支持和改进条件赋值的反编译列为待办事项。仓库没有测试、CI 或公开的准确率结果;程序会报告反编译失败的文件数。
- 仅支持 Windows:README 引导使用者下载发布页的可执行文件(Mar_24_2024 版本,其说明称已于 2026-05-14 重新编译),main.h 列出的构建要求为 Visual Studio、C++20、Windows API 以及默认 char 为无符号,仓库未附带项目或构建文件。另有一个 Call-of-Duty 分支,比 master 多四个提交,并有单独的发布可执行文件。审阅时最后一次提交为 2026-05-14。
- 许可证为 MIT 文本,并附有 LuaJIT 和 Lua 的版权声明;GitHub 未能识别其类型。所审阅资料未提及使用 REA,本目录未运行该反编译器。
关于此条目
- 类型
- 工具
- 类别
- 游戏分析工具
- 关联
- 基础工具
- 目标
- 二进制 · 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · marsinator358/luajit-decompiler-v2 · 修订 6a8a0ce
- LICENSE GitHub · marsinator358/luajit-decompiler-v2 · 修订 6a8a0ce
- main.h GitHub · marsinator358/luajit-decompiler-v2 · 修订 6a8a0ce
- main.cpp GitHub · marsinator358/luajit-decompiler-v2 · 修订 6a8a0ce
- bytecode/bytecode.cpp GitHub · marsinator358/luajit-decompiler-v2 · 修订 6a8a0ce
- https://github.com/marsinator358/luajit-decompiler-v2/releases/tag/Mar_24_2024