python通过pyarmoy加密实现
实现比较简单的加密
1. 安装所需要的库
# pyinstaller 库可以不需要,我这里用了这个库,直接加密后并编译为二进制程序
pip install flask pyinstaller pyarmor
2. 代码截图
此处代码写的非常随意和简单,主要用于测试打包后调用第三方库、多目录导包是否会有问题
执行命令
# 只加密整个项目,不转换为二进制:pyarmor obfuscate --recursive main.py
# 编译为整个二进制文件:-e=-F
# 加密单个python文件,加密后替换原有文件可直接导入 import main2 :pyarmor obfuscate --exact main2.py
# 加密python包,加密后替换原有包可直接导入 import ttt1 :pyarmor obfuscate --recursive --output dist/ttt1 ttt1/__init__.py
# 加密编译
pyarmor pack --name test-main main.py
# 进入加密编译后生成的目录
cd dist/test-main/
# 执行加密后的二进制文件
./test-main
# 编译后整个目录大概有18m,暂未测试正式开发项目是否会更大
root➜codes/test_python/test» ll [18:09:29]
总用量 32K
drwxr-xr-x 6 root root 4.0K 10月 10 18:09 .
drwxr-xr-x 3 root root 4.0K 10月 10 17:41 ..
drwxr-xr-x 3 root root 4.0K 10月 10 18:09 build
drwxr-xr-x 3 root root 4.0K 10月 10 18:09 dist
-rw-r--r-- 1 root root 237 10月 10 17:44 main2.py
-rw-r--r-- 1 root root 592 10月 10 17:40 main.py
drwxr-xr-x 2 root root 4.0K 10月 10 17:46 ttt1
drwxr-xr-x 2 root root 4.0K 10月 10 17:46 ttt2
root➜codes/test_python/test» cd dist [18:09:30]
root➜test_python/test/dist» ls [18:09:32]
test-main
root➜test_python/test/dist» du -sh [18:09:32]
18M .
root➜test_python/test/dist»
- 效果图