前言
加密的多种方式
- 发布编译过的pyc文件
缺点:很容易被反编译
- PyInstaller 是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。
缺点:不同系统需要不同的包。
- cython。可以防止反编译和破解
缺点:可能需要完善不支持的部分代码。
- 修改字节码定义并且发布pyc:这样你的代码将无法在标准Python解释器/VM上运行,标准的反编译器也无法反编译你的程序。
缺点:需要自带能够支持你私有字节码定义Python解释器/VM
- 对按标准字节码定义生成的pyc文件进行字节码混淆,混淆后的程序可以欺骗反编译器以及反汇编器,但仍然能够被Python解释器/VM正确执行。
- 源码混淆:源码混淆替换函数名,变量名为人眼难以正确处理的字符串。
缺点: 逻辑层不变。只是加大了一点 阅读障碍。
pyobfuscate 代码混淆
def my_fuction_to_test ( self , start_date , end_date ) :
iiiii11iII1 = self . get_something ( start_date , end_date )
O0o = [ ]
for oO0 in iiiii11iII1 :
if oO0 [ "isOpen" ] == 1 :
IIIi1i1I = {
}
OOoOoo00oo = dt . strptime ( oO0 [ 'calendarDa