目前市面上没有任何方法能够完全避免你的程序被人反编译。即便是3A游戏大作,发布出来没多久也会被人破解。现在只能做到增大反编译的难度,让程序相对无法那么快被破解。
我们知道,Python代码默认是公开的。当你要把一个Python项目给别人运行的时候,一般来说别人就能看到你的全部源代码。我们可以使用Cython、Nuitka
对代码进行打包,编译成.so文件、.dll文件
或者是可执行文件
,从而在一定程度上避免别人看到你的源代码。
Cython、Nuitka在打包大型项目时,需要写大量的配置文件甚至是额外的程序,有一定的使用成本。如果你对安全的要求并没有那么高,那么其实你只需要对Python代码进行混淆,就能防止自己的代码被人轻易看到了。
我们可以使用Pyminifier
来对Python代码进行混淆。它的使用方法非常简单,pip安装以后,执行几行命令就可以完成。我们来看几个例子。
假设我有一段Python爬虫代码。原始代码是这样的:
import glob
import uvicorn
import random