<table><tr><td bgcolor=orange>本文所有教程及源碼、軟體僅為技術研究。不涉及計算機資訊系統功能的删除、修改、增加、幹擾,更不會影響計算機資訊系統的正常運作。不得将代碼用于非法用途,如侵立删!</td></tr></table>
使用jmpy子產品 将py檔案加密為so或pyd
操作環境
- win10 、 mac
- Python3.9
- jmpy1.0.6
jmpy官方介紹
簡介
将python代碼一鍵加密為so或pyd。支援單個檔案加密,整個項目加密。
Git倉庫位址: https://github.com/Boris-code/jmpy.git
安裝
pip install jmpy3
使用方法
jmpy -i "xxx project dir" [-o output dir]
加密後的檔案預設存儲在 dist/project_name/ 下
打包使用
# -*- coding: utf-8 -*-
"""
py檔案加密為so或pyd
python代碼 加密|加強
參數說明:
-i | --input_file_path 待加密檔案或檔案夾路徑,可是相對路徑或絕對路徑
-o | --output_file_path 加密後的檔案輸出路徑,預設在input_file_path下建立dist檔案夾,存放加密後的檔案
-I | --ignore_files 不需要加密的檔案或檔案夾,逗号分隔
-m | --except_main_file 不加密包含__main__的檔案(主檔案加密後無法啟動), 值為0、1。 預設為1
報錯:
AttributeError: 'str' object has no attribute 'decode'
找到報錯檔案:_msvccompiler.py
參考:https://blog.csdn.net/qq_43192819/article/details/108981008
128行代碼修改為:.encode().decode('utf-16le', errors='replace')
"""
from jmpy.encrypt_py import start_encrypt
# 需要加密的py檔案
input_file_path = "test.py"
# 直接運作
start_encrypt(input_file_path=input_file_path, output_file_path=None, ignore_files=None, except_main_file=0)