加密python程序时会先对运行环境做加密,如果加密错依赖项,会导致加密后的程序无法正常运行。本文档主要演示如何在Windows系统下,python程序在运行时定位依赖的环境,在做加密时对该依赖项做加密,再对pyc做加密,保证加密后的程序能正常的运行.
Windows系统查找方法
下述没有涉及到的项目场景,务必请先运行源项目,确保项目能正常运行,通过Windows任务管理器>进程,查看项目依赖项依赖哪一个,请跟进到原目录里, 对该exe做加壳操作。
1 编译并运行源程序
先运行自己的源程序,确保能正常的运行.
2 启动任务管理器>进程 查看依赖项
依赖的是python.exe 鼠标右键,点击打开文件位置,进入到目录 对此python.exe做加壳
Linux 系统查找方法
1. 编译并运行源程序
确保能正常的运行.
温馨提示: 这个pyc是在windows系统上使用的Python 3.6.6版本对test.py源文件手动编译成的pyc文件(手动编译命令:python -m py_compile *.py 编译生成.pyc), 拷贝到Linux系统直接运行会报如下错RuntimError:Bad magic number in .pyc file, 原因是因为Linux下的python的版本是Python 2.6.6 解析高版本编译出的pyc时会出错.
可以换成同版本的python或者test.py源文件直接在Linux下编译成pyc再做后续的加密操作. 如下是在Linux系统上重新编译后,能正常运行的效果.
2. 查看安装路径
3. 查看版本号
4.对python2.6做加密
温馨提示:因为Linux系统默认安装了python建议不要使用系统自带的python做加密,因为Linux操作系统本身依赖了python的很多库文件,如果加密出错,会导致Linux系统无法启动, (系统默认安装的版本一般有python、python2、
python2.x、 python3、 python3.x)
必须自己重新安装一个新的python版本,指定一下运行的路径.不要使用系统自带的,以防系统无法启动.