如何打包发布加密的 Python 源代码
2021-02-07 21:16
标签:简单的 工具 代码块 red 简单 调用 客户 介绍 查找 这里介绍一种使用 PyInstaller 和 PyArmor 来发布加密 Python 源代码的方式,能够达到以下目的 把所有 Python 源代码打包成为可执行文件,客户不需要 Python 就可以运行 和其他打包工具一样,PyInstaller 对 Python 源代码只是简单编译成为 .pyc 文件,然后打到一个压缩包里面。虽然它提供了一个简单的加密方式[^1],但是很容易就可以使用调试器破解,真正的加密还依赖 PyArmor PyArmor 对代码的加密分为两个层次,首先是对整个 .pyc 文件进行加密,其次是对每一个函数进行动态加密,即在函数开始调用的时候解密,执行完成之后在重新加密,这样从更高层次的确保了 Python 源代码的安全[^2]。 下面用一个具体的例子来说明如果打包发布一个脚本 hello.py 首先安装 PyInstaller 和 PyArmor pip install pyinstaller pyarmor pack hello.py dist/hello/hello pyarmor licenses --expired 2019-01-01 --bind-mac 01:a2:b3:c4:d6:e6 code-01 cp licenses/code-01/license.lic dist/hello 如何打包发布加密的 Python 源代码 标签:简单的 工具 代码块 red 简单 调用 客户 介绍 查找 原文地址:https://www.cnblogs.com/modentime/p/12773468.html
所有 Python 的源代码都经过加密
在 Python 源代码执行过程中,每一个函数执行完成之后,其代码块会重新被加密
可以设置 Python 源代码的有效期,过时之后无法在运行
可以绑定 Python 源代码到指定硬盘或者网卡
这里面是有到两个工具 PyInstaller 和 PyArmor,其中前者可以主要用于把源代码打包成为一个可执行文件,自动查找依赖的包,如果用到了图形库,例如 Tkinter, Qt, 使用这个工具可以很方便的进行打包。后者则可以加密源代码,并且把加密的代码绑定到硬盘和网卡,也可以设置有效期。
pip install pyarmor
然后使用 PyArmor 打包并加密脚本成为可执行文件,打包好的可执行文件放在 dist/hello 下面
运行打包好的文件
生成一个限制使用时间并绑定到网卡的认证文件 licenses/code-01/license.lic
使用新的授权文件替换默认授权文件,再次运行打包好的可执行文件
dist/hello/hello
更多功能,请访问 PyInstaller 主页 和 PyArmor 主页
原文链接:https://blog.csdn.net/weixin_43572000/java/article/details/83986683
上一篇:python实现快速排序
下一篇:排序算法整理(Python实现)
文章标题:如何打包发布加密的 Python 源代码
文章链接:http://soscw.com/index.php/essay/52332.html