![我可以编译(保护)python 脚本吗?](https://linux22.com/image/898759/%E6%88%91%E5%8F%AF%E4%BB%A5%E7%BC%96%E8%AF%91%EF%BC%88%E4%BF%9D%E6%8A%A4%EF%BC%89python%20%E8%84%9A%E6%9C%AC%E5%90%97%EF%BC%9F.png)
我有一个 python 脚本。它以 #!/usr/bin/env python 开头。我有什么办法可以编译它并保护其内容吗?我曾将 shc 用于 bash 脚本,在有人抱怨之前,我知道这不是一种保护脚本内容的安全方法。
我希望有一种安全的方法来编译 Python 脚本并完全阻止任何人看到原始代码。
如果没有的话,那么也许像 shc 这样的措施可以起到作用,以阻止不知情的人进行窥探。
希望这是有意义的。
普雷斯顿
答案1
我自己没有尝试过,但我知道有一种东西叫冻结.根据其描述:
cx_Freeze 是一组用于将 Python 脚本冻结为可执行文件的脚本和模块
我不确定解压可执行文件并实际查看其中的脚本源代码有多容易或多难,因此这种方法的安全性值得商榷。
答案2
我在 initramfs 期间使用了一个 Python 编译器来加快启动时间增强IOSSD 到 HDD 块设备缓存器。它在 2016 年运行良好,但我不知道它在当前的 Python 语言中编译得如何。
使用的编译器称为Pyinstaller并且它:
是一个将 Python 程序冻结(打包)为独立可执行文件的程序,适用于 Windows、Linux、Mac OS X、FreeBSD、Solaris 和 AIX。与类似工具相比,它的主要优势在于 PyInstaller 适用于 Python 2.7 和 3.3—3.6,它通过透明压缩构建较小的可执行文件,它完全支持多平台,并使用操作系统支持加载动态库,从而确保完全兼容。