用于Python3代码的混淆工具

gec*_*cco 2 python obfuscation python-3.x

Python3是否有任何现有的python代码混淆工具?

如果我想隐藏/混淆我的代码,请不要试图告诉我Python不是正确的选择.或者正确的许可证应该保护代码而不是混淆...

更新:此问题不重复问题如何保护Python代码?:我只是问是否有一个工具来混淆Python.没有更多,也没有更少.(如果没有,我想知道为什么我得到这么多反馈...)

Ben*_*Ben 5

无论你做什么,在某些时候,Python解释器将以未经模糊处理的Python字节码进行读取.从那以后很容易回到你的源代码(减去评论和非显而易见的布局).这就是为什么每个人都说混淆Python几乎是不可能的.事实上,混淆Python几乎是不可能的,这意味着没有好的工具可以做到这一点.我担心只是一厢情愿地说"我知道这不能很有效地完成,但有没有工具可以做到这一点?"

您可以做的最好的事情是使用标准加密工具加密您的代码,并用其他语言编写一个小包装程序,只需解密您的Python并运行您的程序,然后在完成后删除未加密的代码.如果你想付出太多的努力,你可能会用C API做一些事情,并在Python程序中嵌入Python解释器,将未加密的Python只提供给内存中的解释器,而不是磁盘上的文件.

请注意,如果您想要的是提供可导入的Python模块(而不是整个程序),这些方案仍然相对容易解决,并且根本不起作用.这就是为什么我不希望找到任何人已经为你编写的工具.


Fab*_*ian 5

如果我是你,我不会采用混淆方法,而是研究发送可执行二进制文件而不是(字节)代码的替代方法。

我所知道的工具(可能还有其他一些):

我不知道这些工具的防黑客能力如何,但我认为值得一看。

编辑:该死,错过了 Python 3 部分。这有点难以提供帮助,因为您没有编写任何有关产品本身(操作系统、GUI 等)的内容。如果它也可以是 Python 2 代码,但您已经用 Python 3 编写了所有代码,我建议使用3to2