Python程序加密保護,Python程序pyc字節碼防止被反編譯
主題詞:USB加密鎖|加密狗|python程序加密|pyc代碼反編譯
python程序是目前較流行的程序語言,代碼很容易被反編譯,那么如何來防止python程序被反編譯呢?下面來演示下如何來加密pyc字節碼文件,加密后是無法被反編譯的。
Python程序是開源的,還用不用加密保護?因為Python程序運行產生的pyc文件很容易被反編譯,代碼看得一清二楚,所以加密保護是必要的。
使用硬件加密狗對Python程序進行加密,可以有效地防止python程序的PYC代碼被反編譯,保護python軟件的版權,加密后的程序必須有加密狗才能使用。

python程序保護方案支持windows與Linux平臺,下面以windows平臺為例。
保護Python應用程序包含以下步驟:
1.收集應用程序的Python字節碼 (PYC) 模塊。
2.使用 Envelope 外殼加密工具保護Python解釋程序并包含數據文件保護模塊,從而使解釋程序可以執行加密的數據文件。
3.使用dfcrypt工具保護應用程序的Python字節碼PYC文件。
可以使用將受保護的解釋程序與加密的代碼封裝在一起的方式分發受保護的應用程序(例如使用 pyinstaller)。
說明 一定要保護編譯的Python字節碼(PYC 文件),而不是明文Python源碼(PY 文件)。Python 解釋程序先將 PY 轉換成 PYC 文件,然后再寫到磁盤上以加快后續執行速度。如果提供的是受保護的 PY 文件而不是 PYC 文件,Python 解釋程序會生成明文 PYC 文件,然后將其寫到磁盤,然后即可對其進行分析。
使用圣天諾加密鎖,首先下載安裝開發工具如下圖
下載地址:
http://chinadlp.com/?list-DriveDownload.html

打開API的示例程序,這里面是未加密的例子程序。

加密方法是這樣的:運行加密工具提供的批處理文件




批處理文件已將py文件轉換成pyc字節碼文件并已加密,同時將python程序打包成可執行程序exe文件。
分發應用程序
已將受保護的文件復制到文件夾dist/<application_name>。
要部署受保護的應用程序,請復制文件夾
dist/<application_name> 到目標機器。
然后即可通過執行
dist/<application_name>/<application_name>
啟動受保護的應用程序。

現在插上加密狗,例子程序main程序即可成功運行!
如果拔掉加密狗,會提示找不到加密狗。

下面測試加密后的pyc文件反編譯效果:
使用python的反編譯的pycdc工具來測試,發現加密后的pyc文件無法被反編譯,提示:Bad MAGIC!

我們再測試下未加密的pyc文件的反編譯效果,可以看到源代碼。

經過以上方法加密python的字節碼文件,實現python程序防止被反編譯的目的。
-----------------------------------
?著作權歸作者所有:來自51CTO博客作者chinadlp的原創作品,請聯系作者獲取轉載授權,否則將追究法律責任
Python程序pyc字節碼文件加密保護
https://blog.51cto.com/u_15799757/10440874
浙公網安備 33010602011771號