工具用的顺手吗?
你的反馈能帮助我们做得更好

在浏览器中尝试将标准 Lua、LuaJIT 或 Luau 字节码还原为可读源码,并支持复制或下载结果。
点击选择文件点击或拖拽上传 .luac / .out 文件
也支持 Luau 与 LuaJIT 字节码
最大 1 MB
仅支持标准 Lua、LuaJIT 或 Luau 编译字节码。加密文件、自定义保护壳和虚拟机混淆不属于普通字节码反编译范围。
源码将在这里显示
选择 .luac 或 .out 文件并开始反编译。字节码中的注释和原始变量名可能无法恢复。
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
Lua 字节码反编译尝试读取编译器生成的指令、常量和函数结构,再组织成较易阅读的 Lua 源码。上传 .luac、.luac.out 或 .out 文件后,可以选择自动识别或指定 Lua 5.1 至 5.5、LuaJIT 2.1、Luau 方言;成功时结果可复制或下载为 .lua。单个文件上限为 10 MB,文件在当前浏览器中处理,不需要上传到反编译服务。
编译过程通常不会在字节码中保留注释和完整的源文件排版;局部变量名也可能已经被移除。反编译器重建的是可读近似源码,不是原作者的逐字原稿。输出可能显示诊断伪代码,也可能无法通过目标解释器,因此应把它用于理解和检查,而不是直接视作可信的原始项目文件。
指南
按步骤完成操作,并通过示例核对输入与结果。
确认输入是标准 Lua、LuaJIT 或 Luau 编译生成的字节码,并检查文件不超过 10 MB。仅把你有权分析的文件用于反编译;普通源码文本、压缩包或自定义封装并不是标准字节码输入。
优先选择自动识别。若引擎未能判断或文件来源明确,可改选编译时使用的 Lua 版本或方言。Lua 字节码通常与版本、编译器构建选项和平台细节有关,版本不匹配可能造成失败或错误结果。
开始后等待引擎处理,查看结果区是否标注诊断伪代码。复制或下载 .lua 后,先检查函数边界、常量、调用顺序和控制流,再用相应运行时解析与测试。
若失败,核对扩展名、文件是否完整、真实方言和版本,然后再试一次明确版本。持续失败时,文件可能经过加密、自定义保护壳、虚拟机混淆或非标准编译,这些都超出普通字节码反编译范围。
场景
查看这项工具在不同工作与生活流程中的用法。
维护者可以查看自己项目的编译产物,确认目标运行时是否接受该文件,或在缺少源码副本时辅助定位大致函数逻辑。安全审查人员可在获得授权后检查内部脚本的行为线索;学习 Lua 虚拟机的开发者也能对照字节码与重建代码,理解常量、函数调用和分支结构如何表达。
反编译结果适合形成调查线索,不足以证明文件来源、作者身份或程序安全性。审查第三方资源时,应遵守许可协议、访问授权和组织制度;若用于恢复自己遗失的代码,应结合提交记录、备份与运行测试交叉核对。跨 Lua 方言项目应保留编译命令、工具链版本和目标平台信息,便于准确选择解析方式。
问答
集中解答高频疑问与容易混淆的问题。
普通反编译只处理标准字节码。加密载荷、自定义保护壳、虚拟机混淆或运行时解密逻辑需要额外分析,不能通过选择 Lua 版本来自动解除。
注释、排版以及部分局部变量名通常不会写入发布用字节码。反编译器可以根据指令推测结构,但无法保证恢复这些源文件信息。
引擎能提供部分结构线索,但未能生成完整、确定的 Lua 源码。此结果可能需要人工补正,且不能直接保证通过解释器或保持原程序行为。
先查明文件由哪种 Lua 实现和版本编译,再尝试对应选项,并重新确认文件未截断。LuaJIT、Luau 与标准 Lua 的字节码格式并不相同。
文件数据在浏览器本地交给反编译工作线程处理;页面会加载解码引擎资源,但不会把所选字节码文件上传用于反编译。请仍避免把机密文件或结果复制到公开位置。
须知
使用前了解适用范围、结果限制与必要提醒。
字节码只保留运行所需的信息,并不等同于原始源码存档。编译器可能省略注释、空白、局部变量名和调试信息;不同 Lua 版本、LuaJIT、Luau 或厂商修改版也可能有不同的指令格式。即使反编译成功,变量名称也可能是自动生成的,复杂闭包、控制流或优化后的表达式可能以另一种形式呈现。
反编译不是解密工具,也不会绕过加密、许可校验或自定义保护。结果用于理解代码时,应与字节码版本、可信来源和目标运行时一并核对;用于恢复或修改程序前,先保存原文件并对照实际行为。只分析你拥有或获准处理的文件,不要把输出当作安全认证、来源证明或未经验证的生产代码。
推荐
查找相关工具、专题与可用的 API 能力。