全部比較

MagicLock vs PyInstaller——保護 vs 打包,以及兩者並用

一份事實比較:PyInstaller 解決的是發佈,不是保護。MagicLock 產物無論去到哪裡都保持加密——而且兩個工具可以很好地組合。

PyInstaller 是把 Python 應用程式變成單一可執行檔的標準做法,使用者不用安裝 Python 就能執行。它成熟、免費,並且非常擅長這件事。它也明白地說了自己不是什麼:不是保護工具。本頁存在的原因,一是兩者經常被混為一談,二是它們實際上可以很好地搭配使用

PyInstaller 做得好的地方

  • 單一檔案 / 單一目錄發佈,直譯器一併打包——經典的「直接發個 .exe 過去」的答案。
  • 廣泛的生態系支援、針對麻煩套件的 hook 機制、跨平台的成熟度。
  • 免費且開源。

打包不是保護

PyInstaller 的產物是一個封存檔:應用程式的 .pyc 位元碼就裝在裡面,隨手可得的工具幾分鐘內就能把它解開回位元碼(再從位元碼還原成相當可讀的原始碼)。這不是缺陷——PyInstaller 從來不是為保守秘密而設計的,它的文件也沒有做過這種聲稱。但這意味著,打包後的應用程式提供的保護和直接發 .py 檔案大致相當。

MagicLock 的產物無論檔案去到哪裡都保持加密:在 PyInstaller 套件包裡、在隨身碟上、在客戶的備份裡。只有在你授權過的裝置上它們才會變成一個執行中的程式,且每次執行都完全離線驗證。

並排比較

能力MagicLockPyInstaller
給終端使用者的單一可執行檔編譯強檔:獨立建置是——正是其設計目標
打包直譯器編譯強檔:是
能否從發出的檔案還原原始碼/位元碼不能——加密(.pya)或每模組帶閘門的原生程式碼能——封存檔可解開出 .pyc
裝置綁定授權內建——(非其目標)
模型 / 資源加密按裝置信封明文打包
有效期、試用、雲控開關
價格商業收費免費、開源

基於截至下方日期的公開文件。

一起用更好

兩個工具解決的是不同的層,而且組合起來很乾淨:

  1. magiclock protect 保護你的模組、magiclock protect-model 保護你的權重——這是保護層。
  2. 照常用 PyInstaller 打包受保護的應用程式——這是發佈層。

打出來的套件包保留 PyInstaller 的便利;裡面的程式碼和模型保留 MagicLock 的加密與裝置綁定。或者,magiclock build --standalone 一步產出自含式的原生應用程式目錄——一道指令同時得到保護與發佈。

什麼時候單用 PyInstaller 就夠了

  • 你需要的是輕鬆發佈,並且沒有任何保護或授權需求——內部工具、免費軟體、可信環境。

什麼時候該加上 MagicLock

  • 當「誰都能解開它」開始成為一個商業問題的那一刻:付費軟體、按席位授權、專有模型、會到期的試用專案。

看看保護是如何運作的,或在定價頁免費試用完整流程 48 小時。

事實核對於 2026-08

產品名稱與商標歸各自所有者所有。比較基於公開文件;能力因版本與授權類型而異,請以各廠商官方資料為準。