工具用的順手嗎?
你的回饋能幫助我們做得更好
上傳 Python .pyc 或 .pyo 位元組碼檔案,嘗試恢復爲便於閱讀和分析的近似 .py 原始碼。
點選檔案點選或拖拽上傳 .pyc, .pyo 檔案
單次支援多個檔案,單個最大 256KB
最大 256 KB
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
Python 原始檔會先編譯為供直譯器執行的位元組碼,常見快取載體是 .pyc 檔案。反編譯的目標不是把二進制內容當作普通文字開啟,而是識別其中的程式碼物件與位元組碼指令,再重建為便於閱讀的 Python 原始碼表示。本工具接收直接的 .pyc 或 .pyo 檔案,處理成功後可在頁面中檢視恢復結果,並把結果儲存為 .py 檔案。
| 環節 | 頁面行為 |
|---|---|
| 選擇檔案 | 可一次加入多個檔案;按檔名保留小寫 .pyc、.pyo 字尾的專案,其他型別會被過濾。 |
| 大小檢查 | 單個檔案最大 256 KB;這是逐檔案限制,不是多檔案總體積上限。 |
| 執行順序 | 點選開始後按列表逐個處理,可分別看到待處理、處理中、成功、失敗或已跳過狀態。 |
| 檢視與匯出 | 成功專案可開啟只讀原始碼檢視,也可單獨下載;原字尾會替換為 .py。 |
例如上傳 module.cpython-311.pyc 後,成功下載的檔名為 module.cpython-311.py;檔名中的版本標籤會保留,只有末尾副檔名發生變化。多檔案模式是逐項處理和逐項下載,不會合併成一個原始碼檔案或壓縮包。
位元組碼是 Python 實現內部使用的指令形式,不是跨版本固定不變的交換格式。Python 官方文件明確指出,不同虛擬機器或 Python 版本的位元組碼不一定相容,CPython 的操作碼也會隨版本增刪或改變。因此,檔案由哪個 Python 實現與版本生成,是判斷能否解析以及如何閱讀結果的重要線索。
本頁面沒有手動選擇 Python 版本的輸入項,也沒有展示一個可承諾的完整支援版本表。若原檔名仍含 cpython-311 之類的快取標籤,請在整理檔案時保留它;標籤可輔助人工覈對來源,但實際結果仍以該檔案的處理狀態和輸出內容爲準。
.pyo 是舊版 Python 使用過的最佳化位元組碼副檔名。PEP 488 自 Python 3.5 起取消獨立的 .pyo 命名,新版 CPython 把最佳化級別寫入 .pyc 檔名,例如 name.cpython-35.opt-1.pyc。因此,遇到 .pyo 往往意味著檔案來自較舊的構建或遺留部署;工具保留該副檔名入口,便於處理這類歷史檔案。
.pyc 快取位元組碼以及位元組碼可能不跨虛擬機器或版本相容的結論;覈驗日期:2026-09-14。dis 文件:支援 CPython 操作碼屬於實現細節且會隨版本改變的結論;覈驗日期:2026-09-14。.pyo 並改用帶最佳化標籤的 .pyc 命名;自 Python 3.5 實施,覈驗日期:2026-09-14。指南
依步驟完成操作,並透過範例核對輸入與結果。
先從你有權處理的專案、備份或構建目錄中找到 .pyc 或 .pyo。壓縮包、可執行檔案和共享庫不是本頁面的直接輸入;不要只為透過篩選而把其他二進制檔案改成這些字尾。
副檔名應為小寫,每個檔案不超過 256 KB。像 APP.PYC 這樣的全大寫字尾不會進入列表;若它確實是 PYC,可在不改變檔案內容的前提下將字尾改為小寫。
點選上傳區域選擇檔案,或把檔案拖入頁面。先覈對列表中的名稱和大小;誤選專案可單獨移除,尚未開始處理時也可清空列表。
點選“開始反編譯”後等待列表依次更新。處理期間不要重複操作檔案列表。若頁面提示使用次數已達上限,未執行的專案可能顯示為已跳過或繼續保持待處理,應以頁面當時給出的賬戶提示爲準。
開啟成功專案的原始碼檢視,先檢查模組入口、函式簽名、匯入項、常量和控制流程。需要繼續整理時再下載對應的 .py 檔案;失敗專案可移除後重新加入,以排除臨時上傳或檔案選擇問題。
情境
查看這項工具在不同工作與生活流程中的用法。
開發者只有舊環境中的位元組碼快取、原始碼備份又不完整時,可先恢復可讀結構,結合版本控制、部署配置和測試用例重新整理模組。
安全或合規人員在明確授權範圍內檢查遺留模組時,可用結果定位匯入關係、敏感常量和主要分支,再回到製品清單與執行環境進行交叉驗證。
教師、學生或維護者可把自己編譯的示例檔案作為輸入,將恢復結果與原始 .py、對應版本的反彙編輸出對照,理解編譯前後結構如何變化。
須知
使用前了解適用範圍、結果限制與必要提醒。
編譯階段未保留的資訊無法從位元組碼中原樣找回,註釋、空白與排版通常會丟失,部分表示式或控制結構可能被重寫;最佳化過的舊式 .pyo 還可能缺少編譯時移除的內容。即使頁面顯示成功,也應把結果視為待審閱的近似原始碼,不能據此證明它與原程式逐字元或逐行為等價。
頁面不提供手動版本選擇,也不保證覆蓋所有 Python 版本。版本較新或較舊、來自其他 Python 實現、檔案頭或主體損壞、經過混淆或採用非標準操作碼的檔案都可能失敗,結果也可能包含不完整或需要人工改寫的語句。單個檔案 256 KB 的上限與小寫副檔名篩選同樣適用。
位元組碼檔案會提交到遠端服務處理。不要上傳金鑰、令牌、個人資訊、未公開商業邏輯或受保密義務約束的製品;本頁未給出檔案保留期限時,不應自行假定上傳內容會立即刪除或永久儲存。
僅分析你擁有、獲明確許可或法律允許研究的程式碼,遵守許可證、合同、版權和所在地規則。恢復出的程式碼可能包含匯入時副作用、網路訪問或其他危險邏輯;不要直接執行,應先在隔離環境中靜態審閱,並用你可控制的樣例和測試驗證關鍵行為。
推薦
查找相關工具、專題與可用的 API 能力。