跳转到主要内容

用于冻结Python应用程序的字节码混淆工具

项目描述

Mangler是一个用于混淆您冻结的Python应用程序字节码的工具。它使得某人从您的应用程序中提取代码并用于其邪恶目的变得更加困难。

Mangler与py2exe、py2app和cxfreeze的输出一起工作。bbfreeze和pyinstaller的支持将最终添加;如果您迫切需要此类支持,您可以给我五十美元,我会立即着手处理...

它是否安全?

它尽可能安全。也就是说:不,它不安全。一个坚定的攻击者将能够获得您程序的未混淆字节码,将其反编译成源代码的近似值,然后随意使用结果。

但请记住:在某种程度上,任何语言编写的任何应用程序都存在这种逆向工程的可能性。任何声称不同的人都是在向您推销蛇油。

Mangler能做的就是使其更难。标准的冻结Python应用程序基本上附带了一个包含所有代码的大zip文件,这些代码以易于反编译的形式存在。Mangler对此zip文件的内容应用了一些简单的字节级混淆,这意味着想要获取其内容的某人需要做额外的工作。

可以做更多的事情来使攻击者的工作更加困难。但这将需要编译C扩展或更好的是编译自定义Python解释器。如果您认为您想走这条路,我提供分发Python应用程序咨询服务;对于适度的费用,我很乐意(a)说服您放弃,或者(b)为您实现定制解决方案。

听起来很棒,我该如何使用它?

如果您只是使用py2exe、py2app或cxfreeze的基本形式,您可以使用“mangler”脚本来调用您的冻结应用路径

mangler /path/to/frozen/application

这将生成一个新的混淆密钥,使用它来混淆冻结的字节码,并修补可执行文件以正确加载混淆的字节码。很简单。

对于更复杂的情况,嗯,我还没有修复API。请耐心等待。

项目详情


支持