工具用的順手嗎?
你的回饋能幫助我們做得更好
在瀏覽器中嘗試將標準 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 能力。