天天看點

【原創】Python 使用jmpy子產品加密|加強 python代碼

<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)

           

報錯解決:AttributeError: ‘str’ object has no attribute 'decode’