1. 编译pyc文件
由于python程序的py文件很容易泄露源代码,所以python可以编译成保密的pyc文件。
python的pyc文件是一种二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。
编译py文件到pyc文件的方法:
在命令行输入:python -m py_compile myFile.py 就可以生成对应的pyc文件了。之后就可以直接执行pyc文件。python myFile.pyc
2. 反编译pyc文件
2.1 反编译工具
https://tool.lu/pyc/
2.2 最方便的就是使用pip安装
pip install uncompyle
使用方法
我使用pip在mac os上安装好后的可执行文件名叫uncompyle6,很奇葩有没有
uncompyle6 --help 查看帮助
uncompyle6 models.pyc > models.py 将models.pyc反编译成py文件
uncompile -o . *.pyc 将当前文件夹中所有的pyc文件反编译成后缀名为.pyc_dis的源文件
反编译后的效果可以说很理想,如果你的代码格式符合PEP8规范的要求,那就基本和源来的文件一样,不过各种注释就没有了(不能要求太高是不是)
最后改的代码还没有运行(没有生成pyc)的,就真的丢了,不过不多,再写一遍吧!
问题是解决了,不过最后要反思一下,使用find + rm 删除文件的时候一定要小心,按确认之前一定要再三检查
http://pyob.oxyry.com/ 混淆网站
希望对大家有所帮助。