Python Code Obfuscation
您知道有什么工具可以帮助我混淆python代码吗?
您的问题空间未指定。这是命令行应用程序吗?此代码是否应该用作库?
除了其他两个答案,您还可以将代码嵌入二进制文件中。启动时,解码代码并评估字符串。这也适用于共享库扩展。我认为,您也可以使用字节码来做到这一点,但这并不像调用Py_EvalCode那样简单。
py2exe或Frozen是其他解决方案,可以将代码转换为可执行文件。它只是将代码包含在二进制文件中,并且不会进行任何严重的混淆,但是它比打开.py文件还要难。
您可以用Cython编写代码,该代码类似于Python,并用C编写Python扩展文件,以用作.so。这也许是逆向工程中最难的,但仍然可以为您提供高级的开发语言。
它们都是可破解的,所有解决方案也一样。您想要它有多难?
http://www.lysator.liu.se/~astrand/projects/pyobfuscate/
或在http://freshmeat.net/projects/pyobfuscate/
我实际上找到了一个非常不错的项目,该项目基本上将Python转换为C ++,并创建了一个二进制的,静态链接的文件。
检查一下:http://www.nuitka.net/
在许多情况下,可以提供字节编译的.pyc文件而不是.py源文件。这会给您带来一定程度的混淆。正如pyfufuscate自述文件所建议的那样,这是有局限性的。但是您可以将两种方法结合起来。
Python的标准库包括compileall.py。您可以在目录上运行它,它将为您的所有源文件生成.pyc文件。 .pyc文件将仅包含字节码和文档字符串,并且将删除所有注释。然后,您可以复制此目录,然后运行类似
最好的选择是使用Shed Skin(一种实验性的Python到C ++编译器)进行编译。
尽管它不会混淆,但此Python食谱非常适合最小化Python代码的大小,包括去除注释。