-
-
[原创]【原创】Python 使用jmpy模块加密|加固 python代码
-
发表于: 2022-6-13 15:40 3866
-
<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
安装
1 | pip install jmpy3 |
使用方法
1 | jmpy - i "xxx project dir" [ - o output dir ] |
加密后的文件默认存储在 dist/project_name/ 下
打包使用
jmpy 加密模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # -*- 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’
初次使用时碰到了一个:AttributeError: 'str' object has no attribute 'decode'的报错
原因:Python2和Python3在字符串编码上的区别。
解决方法:先encode()转为字节码在进行解码
找到报错文件:_msvccompiler.py
参考:https://blog.csdn.net/qq_43192819/article/details/108981008
128行代码修改为:.encode().decode('utf-16le', errors='replace')
资源下载
https://download.csdn.net/download/qq_38154948/85629166
<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>
赞赏记录
参与人
雪币
留言
时间
sinker_
期待更多优质内容的分享,论坛有你更精彩!
2024-9-29 01:45
shinratensei
为你点赞~
2022-7-15 11:17
伟叔叔
为你点赞~
2022-7-15 11:10
赞赏
看原图
赞赏
雪币:
留言: