由于Python是一种按设计进行解释的语言,而且它将代码编译为字节码(这无助于隐藏它,因为字节码更容易反转),因此没有真正安全的方法来隐藏源代码,因为它是不可恢复的,任何编程语言都是如此。在
一开始,如果你想使用一种不容易被逆转的语言,你应该选择一种更为本族语的语言,它直接编译成底层架构的机器代码,这在原始语言中很难重现,更不用说由于简洁的编译器优化,更不用说阅读了,CISC等给出的开销。在
但是,可以使用一些将源代码转换为可执行格式的库(通过打包Python解释器和字节码),例如:cx_Freeze-用于冻结任何平台上的任何代码>;=Python2.7。在
PyInstaller-为了冻结通用代码,它还声明它与第三方库一起工作。在
py2exe-用于将代码冻结为仅限Windows的可执行格式。在
或者你可以考虑一种替代方法,那就是代码混淆,它仍然允许用户阅读源代码,但是却使它几乎无法阅读。在
然而,由此带来的一个问题是,添加代码会更困难,因为糟糕的代码混淆技术可能会使代码静态化。另外,在后一种情况下,代码可能会有冗余代码带来的开销,这些冗余代码旨在愚弄或欺骗用户,使其认为代码正在做它没有做的事情。在
一般来说,它否定了Python喜欢做和支持的开源标准实践。在
所以,最后,如果你不想阅读以上所有的东西,你首先做错的就是为此选择了Python,这是一种支持开源的、也是开源的语言。因此,为了减轻这个问题,您应该重新考虑该语言,或者按照上面的引用链接到模块,这些模块可能有助于基本的源代码隐藏。在