Pyarmor9 最新加密教程:从入门到上手(参考官网文档)

官网文档:https://pyarmor.readthedocs.io/en/latest/

一、Pyarmor 是什么?

想象你写了一个超级厉害的 Python 脚本,比如一个计算彩票中奖号码的程序(当然是玩笑),你不想让别人偷看或随便复制怎么办?Pyarmor 就像给你的代码加了一把锁,别人拿到也看不懂,甚至只能在你指定的电脑上运行。

  • 主要功能
    1. 混淆代码:把代码变成“天书”,让人看不懂。
    2. 绑定设备:让代码只能在特定电脑上跑。
    3. 设置过期:让代码到时间自动失效。
二、准备工作
  1. 安装 Pyarmor: 打开命令行(Windows 是 CMD,Mac 是终端),输入: 装好后,输入 pyarmor --version 检查版本,确保安装成功(应该是 9.x.x)。

  2. 写个简单脚本: 新建一个文件 hello.py,内容如下:

def say_hello(): 	
	print("你好,我是加密小王子!") 
if __name__ == "__main__": 
	say_hello()`
三、基础加密:让代码变“天书”
  1. 最简单混淆: 在命令行输入:
    • 运行后,会生成一个 dist 文件夹,里面有 hello.py 的加密版。
    • 输入 python dist/hello.py,你会发现它还能正常运行,打印“你好,我是加密小王子!”。
    • 但打开 dist/hello.py 看,代码已经变成一堆乱七八糟的符号,普通人完全看不懂。
  2. 怎么回事?
    • Pyarmor 把你的代码加密后,塞进了一个叫 pyarmor_runtime_xxxxxx 的小助手。这个助手会在运行时解密代码,但别人看不到原始内容。
    • 比喻:就像把你的秘密日记锁进保险箱,别人只能看到锁好的箱子。
四、进阶玩法:加点限制
1. 设置过期时间

不想让代码永久有效?可以加个“保质期”:

pyarmor gen -e "30" hello.py

  • -e 30 意思是 30 天后失效。
  • 30 天后运行 dist/hello.py,会报错:“脚本已过期”。
  • 比喻:就像牛奶过了保质期不能喝。
2. 绑定特定电脑

想让代码只能在你的电脑上跑?需要绑定硬件信息,比如网卡地址:

  • 先查自己电脑的网卡地址(MAC 地址):

    • Windows:命令行输入 ipconfig /all,找“物理地址”。
    • Mac/Linux:输入 ifconfig,找“ether”。
    • 假设是 00:16:3e:35:19:3d。
  • 加密时绑定:

    pyarmor gen -b "00:16:3e:35:19:3d" hello.py

  • 现在 dist/hello.py 只能在这台电脑上跑,换台电脑会报错:“未授权使用”。

3. 保护整个包

如果你的代码不只是一个文件,而是一个文件夹(比如 mypkg),可以这样加密:

  • -i 表示加密整个包,生成 dist/mypkg,里面的 __init__.py 和其他文件都会被混淆。
五、更强的保护:高级混淆

Pyarmor 提供了更厉害的混淆方式,让代码更难被破解。

  1. RFT 模式(重命名变量)

    • 默认混淆只是加密代码,变量名没变。RFT 会把变量名也改掉,比如 say_hello 变成 pyarmor_xxx。

    • 命令:

      pyarmor gen --enable-rft hello.py

    • 效果:连函数名都看不出来,更难逆向。

  2. BCC 模式(转成 C 代码)

    • 把 Python 代码转成 C 语言再编译,超级难破解。

    • 命令:

      pyarmor gen --enable-bcc hello.py

    • 注意:需要安装 C 编译器(比如 gcc),性能更好但稍微复杂。

六、打包分发:让别人也能用

加密后的代码需要 pyarmor_runtime_xxxxxx 文件才能跑,怎么发给别人?

  1. 直接发文件夹

    • 把整个 dist 文件夹发给别人,他们用 python dist/hello.py 就能跑。
  2. 打包成 exe

    • 用 PyInstaller 打包:

      pyinstaller --add-data "dist/pyarmor_runtime_xxxxxx;pyarmor_runtime_xxxxxx" dist/hello.py

    • 生成一个 exe 文件,别人双击就能用,连 Python 都不用装。

七、注意事项
  1. 试用版限制

    • 免费版有大小限制(大脚本不能加密)和功能限制,高级功能(如 RFT、BCC)需要买 Pro 版。
  2. 调试问题

    • 如果加密后运行出错,加 --debug 查看日志:

      pyarmor gen --debug hello.py

    • 日志在 pyarmor.debug.log 里,帮你找问题。

  3. 别装错地方

    • Pyarmor 装在开发电脑上就行,目标电脑不需要装,只要有 pyarmor_runtime 文件。
八、实战练习

试试这个小任务:

  1. 写个脚本 calc.py:
def add(a, b): 
	return a + b 
print(add(3, 4))`
  1. 用 Pyarmor 加密,设置 7 天过期,绑定你的电脑。

  2. 测试加密后的文件能不能跑,过期后会怎样。

命令参考:

pyarmor gen -e "7" -b "你的MAC地址" calc.py


总结:Pyarmor 的加密法则

  • 基础混淆:让代码看不懂(pyarmor gen)。
  • 加限制:过期(-e)、绑设备(-b)。
  • 高级混淆:改名字(–enable-rft)、转 C 码(–enable-bcc)。
  • 分发:带着 pyarmor_runtime 一起发,或打包成 exe。

通过这个教程,你应该能轻松上手 Pyarmor,把你的 Python 代码保护得像银行金库一样安全!有问题随时问我,我再帮你细化。

你可能感兴趣的:(源代码管理,python)