python代码混淆加密

混淆

为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. http://pyob.oxyry.com/

代码混淆库 pyobfuscate 不支持python3

python2 pyobfuscate.py malicious.py > malicious_obfuscated.py

利用 AST 混淆源码

AST,即抽象语法树,它可以将源代码以树状结构表示。Python 内置了 ast 模块,该模块通过内置函数 compile() 和 parse() 将  Python 源代码解析为 AST,之后可以利用 ast 模块内的方法对 ast 节点进行相应的操作,混淆处理后使用 codegen 库将 AST 重新生成为 Python 源码。
```txt
python2 astobf.py malicious.py > malicious_astobfed.py

对代码进行混淆以降低源码可读性

将 py 文件编译为二进制 pyc 文件

使用 Pyinstaller 打包源码为二进制可执行文件

使用 PyArmor 加密脚本

将 py/pyc 文件使用 AES 加密为 pye 文件

将 py 文件转为 c 文件后编译为动态链接库文件

PyArmor 的工作原理相对复杂,有兴趣的朋友可以参考官方的说明文档:

https://pyarmor.readthedocs.io/。

pyconcrete

参考资料

https://blog.csdn.net/weixin_52400971/article/details/109772803
https://blog.csdn.net/weixin_43572000/article/details/83986683

Guess you like

Origin blog.csdn.net/a854596855/article/details/121522508