Python代码混淆
你知道任何工具,可以帮助我混淆python代码吗?
您的问题空间不足指定。 这是一个命令行应用程序? 这段代码是否应该用作库?
除了另外两个答案之外,您可以将代码embedded到二进制文件中。 当它开始时,解码代码并评估string。 这也适用于共享库扩展。 你也可以用字节码来做到这一点,我想,但不会像调用Py_EvalCode那么简单。
py2exe或冻结是其他解决scheme,它将代码转换为可执行文件。 它只是包含二进制代码,并没有做任何严重的obsfucation,但它仍然比打开.py文件更难。
你可以用Cython编写代码,它类似于Python,用C语言编写Python扩展文件,用作.so。 这也许是这些逆向工程中最难的,仍然给你一个高级的开发语言。
和所有的解决scheme一样,它们都是可破解的。 你有多难?
我实际上find了一个非常好的项目,它基本上将Python转换为C ++,并创build一个二进制静态链接文件。
看看这个: http : //www.nuitka.net/
在许多情况下,您可以发送字节编译的.pyc文件而不是.py源文件。 这给你一些混淆的程度。 正如pyobfuscate自述文件所build议的,这具有局限性。 但是你也许可以结合这两种方法。
Python的标准库包括compileall.py 。 你可以在一个目录上运行它,它会为你所有的源文件生成.pyc文件。 .pyc文件将只包含字节码和文档string,并将删除所有注释。 然后你可以复制这个目录,然后运行诸如rm -rf $(find . -name .py)
来删除原始的源文件。
你最好的select是使用Shed Skin ,一个实验性的Python-to-C ++编译器来编译它。
虽然它不会混淆,但是这个Python配方很适合最小化Python代码的大小,包括删除注释。