{
  "added_at": "2026-10-27",
  "additional_evidence_urls": [
    "https://github.com/marsinator358/luajit-decompiler-v2/blob/6a8a0cec48fdf175dddaca5d3fbfe3aa59b5550a/LICENSE",
    "https://github.com/marsinator358/luajit-decompiler-v2/blob/6a8a0cec48fdf175dddaca5d3fbfe3aa59b5550a/main.h",
    "https://github.com/marsinator358/luajit-decompiler-v2/blob/6a8a0cec48fdf175dddaca5d3fbfe3aa59b5550a/main.cpp",
    "https://github.com/marsinator358/luajit-decompiler-v2/blob/6a8a0cec48fdf175dddaca5d3fbfe3aa59b5550a/bytecode/bytecode.cpp",
    "https://github.com/marsinator358/luajit-decompiler-v2/releases/tag/Mar_24_2024"
  ],
  "category": "game-analysis",
  "description_en": "Decompiles LuaJIT bytecode files back into Lua source, written as a replacement for the older Python LuaJIT decompiler. The README reports full support for gotos and for stripped bytecode, including reconstructed locals and upvalues, and its boolean-expression recovery follows a published decompilation algorithm. It processes single files or whole folders and writes .lua output.",
  "description_zh": "将 LuaJIT 字节码文件反编译回 Lua 源码，作为旧版 Python LuaJIT 反编译器的替代品编写。README 称它完整支持 goto 和去除调试信息的字节码，包括还原局部变量和上值；其布尔表达式恢复基于一篇已发表的反编译算法论文。它可处理单个文件或整个文件夹，输出 .lua 文件。",
  "entry_url": "https://awesomerea.org/resources/luajit-decompiler-v2/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/luajit-decompiler-v2/",
  "evidence_url": "https://github.com/marsinator358/luajit-decompiler-v2/blob/6a8a0cec48fdf175dddaca5d3fbfe3aa59b5550a/README.md",
  "group": "tools",
  "id": "luajit-decompiler-v2",
  "json_url": "https://awesomerea.org/resources/luajit-decompiler-v2/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/luajit-decompiler-v2/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/luajit-decompiler-v2/index.md",
  "name": "LuaJIT Decompiler v2",
  "name_zh": "LuaJIT Decompiler v2 字节码反编译器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Users supply LuaJIT bytecode files or a folder containing them, by drag and drop or on the command line; decompiled .lua files go to an output folder beside the executable unless overridden. Options filter by extension, ignore debug info, skip files that fail instead of showing an assertion pop-up, and format output to minimize diffs.",
    "The reader accepts bytecode format versions 1 and 2 and rejects big-endian bytecode, which the README lists as future work along with better decompilation of conditional assignments. The repository has no tests, CI or published accuracy results; the program reports how many files failed to decompile.",
    "Windows only: the README directs users to a release executable (the Mar_24_2024 release, whose notes say it was rebuilt on 2026-05-14), and main.h lists Visual Studio, C++20, the Windows API and an unsigned default char as build requirements, with no project or build files included. A Call-of-Duty branch, four commits ahead of master, has its own release executable. Last commit at review: 2026-05-14.",
    "MIT license text that also carries the LuaJIT and Lua copyright notices; GitHub does not classify it."
  ],
  "requirements_zh": [
    "使用者需提供 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 未能识别其类型。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/marsinator358/luajit-decompiler-v2",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
