Python代码混淆工具

时间:2024-02-15 17:37:05

简介

介绍Python代码混淆工具,可以对源代码进行混淆处理,保证功能不变但代码基本不可读。

注意大部分混淆工具都是可逆的,例如编译生成pyc文件可以用 https://github.com/wibiti/uncompyle2 来解码。

pyminifier

pyminifier是一个对Python文件进行压缩、混淆的工具,项目地址 https://github.com/liftoff/pyminifier 。

使用方式比较简单,通过pip安装。

pip install pyminifier

然后直接运行命令,把混淆后的输出重定向文件即可。

pyminifier ./sparse_classifier.py > new.py

默认命令只是对代码顺序进行重排和减少注释,如果需要混淆代码需要加上参数。

pyminifier -O ./sparse_classifier.py > new.py

注意,目前pyminifier只能处理单个文件,而且部分脚本混淆后不可运行,需要手动测试。

Oxyry Python Obfuscator

Oxyry Python Obfuscator是一个在线混淆代码的工具,地址是 http://pyob.oxyry.com/ 。

注意目前Oxyry也只能混淆单个Python文件,测试过混淆后代码可用。

Opy

Opy也是一个代码混淆工具,可以对整个目录的Python文件进行混淆处理,并且支持定义混淆格式,项目地址 https://github.com/QQuick/Opy 。

经过测试,混淆后的Python项目不可直接执行,不建议使用。

编译成C模块

目前大部分开源的Python代码混淆工具都是可逆的,最安全的不可逆方式是把Python代码编译成C模块,直接发布编译后的类库即可。

但需要编写额外的代码来生成C模块,并且生成后的模块不一定可以直接运行。