工具用的順手嗎?
你的回饋能幫助我們做得更好
將單一 Python 腳本或專案 ZIP 加密為 .pyz,並附上與本次金鑰相符的 Linux 執行器。
點選檔案選擇或拖入檔案
.py · .zip
最大 1 MB
目前帳號單檔上限 1 MB(訪客 1 MB / 一般會員 2 MB / 進階會員 5 MB / 專業會員 20 MB)
雲端處理:檔案使用短期 OSS 憑證上傳,在獨立 FC 容器處理;OSS 檔案依儲存桶生命週期規則清理。
支援單一 .py 腳本或專案 .zip,上傳上限依帳號等級遞增,最高 20 MB。專案壓縮檔需要 __main__.py,或填寫進入函式。
執行器目前面向 Linux x86_64、CPython 3.12。混淆/加密只會增加逆向成本,不能阻止有經驗的使用者提取程式碼或金鑰;請勿視為 DRM 或絕對安全邊界。
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
pyconcrete 會把 Python 模組轉為加密位元組碼,再由搭配的執行元件於匯入或啟動時解密執行。本工具接受單一 .py 或專案 ZIP,產生加密 .pyz、執行器與相關檔案的下載套件。執行器會與本次建置使用的金鑰相符,不能任意換成其他專案的執行器。
目前輸出目標為 Linux x86_64 與 CPython 3.12。專案 ZIP 應包含根目錄 __main__.py,或在頁面填寫 package.module:function 入口;第三方相依套件需在目標機器另行準備。此方式提高直接檢視原始碼的成本,但程式執行時仍須使用程式碼與金鑰,無法構成絕對防逆向界線。
指南
依步驟完成操作,並透過範例核對輸入與結果。
選擇單一 .py,或上傳保留套件目錄、資源檔和入口模組的 ZIP。ZIP 根目錄可放置 __main__.py,也可準備可呼叫函式作為入口。
若 ZIP 沒有根目錄入口,請在欄位填入 package.module:function,例如 myapp.cli:main。模組及函式名稱須符合壓縮檔中的實際路徑,且函式要能在執行器啟動時呼叫。
頁面會顯示目前帳號的上傳大小限制。開始後檔案會在雲端隔離環境處理,並產生與本次金鑰匹配的執行器和加密封存;若編譯環境、入口或專案結構不符合需求,工作會失敗並顯示錯誤。
解壓輸出套件,在 Linux x86_64 且安裝 CPython 3.12 的環境中執行。依專案需求準備未隨套件安裝的第三方相依項目,並檢查資源相對路徑、啟動命令及實際流程。
情境
查看這項工具在不同工作與生活流程中的用法。
團隊可將入口明確的腳本與專案資源打包成加密封存,再把執行器與受控版本一起交付給 Linux x86_64 使用者。
軟體維護者可減少直接散布明文模組,並於發布說明中註明 CPython 版本、系統架構、相依套件安裝方式與啟動入口。
發布工程師可先用小型範例確認入口辨識、加密封存結構、執行器呼叫與資源定位,再決定如何納入部署腳本。
問答
集中解答常見疑問與容易混淆的問題。
目前提供的執行器是為此作業系統架構與解譯器版本建置。其他 Python 版本、Windows/macOS 或 ARM 裝置不一定相容;需在目標部署環境另行準備相符的執行元件。
不一定。若根目錄沒有 __main__.py,可填入 package.module:function 入口。模組路徑和可呼叫函式必須符合專案內容,否則建置或啟動會失敗。
不會自動安裝。程式碼和封裝資源可以隨輸出封存,但外部相依套件應在目標環境依專案需求準備,並確認 CPython、平台與套件版本相容。
不能。程式執行時必須使用程式碼與金鑰,能控制執行環境的人仍可能分析它們。加密只會提高讀取成本,不能取代授權設計、秘密管理或伺服器端安全界線。
須知
使用前了解適用範圍、結果限制與必要提醒。
輸出執行器面向 Linux x86_64 與 CPython 3.12。建置會受 pyconcrete 及其本機編譯工具鏈影響,執行時還需要專案使用的第三方函式庫和系統相依項目。部署前應在與正式環境一致的系統映像上驗證啟動、資料路徑、異常結束和更新方式。
金鑰與執行器相互匹配;請妥善保管並限制輸出套件散布,不要把同一執行器用於無關專案。加密或混淆只能增加逆向成本,有經驗的使用者仍可能提取程式碼或金鑰。請只處理自己擁有或獲授權的原始碼,真正的存取控制應保留在伺服器端。
推薦
查找相關工具、專題與可用的 API 能力。