Python代碼混淆工具

簡介

介紹Python代碼混淆工具,可以對源代碼進行混淆處理,保證功能不變但代碼基本不可讀。

注意大部分混淆工具都是可逆的,例如編譯生成pyc文件可以用 https://github.com/wibiti/uncompyle2 來解碼。

pyminifier

pyminifier是一個對Python文件進行壓縮、混淆的工具,項目地址 https://github.com/liftoff/pyminifier 。

使用方式比較簡單,通過pip安裝。

pip install pyminifier

然後直接運行命令,把混淆後的輸出重定向文件即可。

pyminifier ./sparse_classifier.py > new.py

默認命令只是對代碼順序進行重排和減少註釋,如果需要混淆代碼需要加上參數。

pyminifier -O ./sparse_classifier.py > new.py

注意,目前pyminifier只能處理單個文件,而且部分腳本混淆後不可運行,需要手動測試。

Oxyry Python Obfuscator

Oxyry Python Obfuscator是一個在線混淆代碼的工具,地址是 http://pyob.oxyry.com/ 。

注意目前Oxyry也只能混淆單個Python文件,測試過混淆後代碼可用。

Opy

Opy也是一個代碼混淆工具,可以對整個目錄的Python文件進行混淆處理,並且支持定義混淆格式,項目地址 https://github.com/QQuick/Opy 。

經過測試,混淆後的Python項目不可直接執行,不建議使用。

編譯成C模塊

目前大部分開源的Python代碼混淆工具都是可逆的,最安全的不可逆方式是把Python代碼編譯成C模塊,直接發佈編譯後的類庫即可。

但需要編寫額外的代碼來生成C模塊,並且生成後的模塊不一定可以直接運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章