PyInstaller 加密 --key
PyInstaller Encryption --key
我试图理解为什么 PyInstaller 文档指出可以轻松提取用于加密 Python 源代码的 --key 参数:
此外,Python 字节码可以通过在 PyInstaller 的命令行上指定加密密钥来使用 AES256 进行混淆。请注意,提取密钥并取回原始字节码仍然非常容易,但它应该可以防止大多数形式的“随意”篡改。
我对 AES-256 的基本理解是,如果没有人拥有您指定的加密密钥,他们将无法提取它 "easily"
有没有人比较了解?
Pyinstaller 可选择使用非常强大的方法加密 python 源。
当然,如果没有密钥,几乎不可能提取文件。
但是仍然需要在 运行 时间访问源代码,否则程序无法运行(或者每次都必须有人提供密码,例如受保护的 excel 文件) .
这意味着密钥位于已安装软件中的某处。由于所有这些东西都是开源的,查看源代码会告诉您 PyInstaller 将密钥嵌入何处。当然,这不是微不足道的,但不是一个加密破解问题,只是逆向工程 - 添加 - 可用的源。
Jean-Francois 的上述回答是正确的 - 加密密钥必须与某处的可执行文件一起分发,否则在 运行 时无法自解密。
根据 reverse engineering blog,密钥分布在构建可执行文件时生成的 .pyc 文件之一。反编译此文件可能允许访问密钥,然后可以使用该密钥来解密静态代码。 (由于该博客是2017年的,他说的位置可能已经改变,但情况仍然如此,钥匙必须在某个地方)
我试图理解为什么 PyInstaller 文档指出可以轻松提取用于加密 Python 源代码的 --key 参数:
此外,Python 字节码可以通过在 PyInstaller 的命令行上指定加密密钥来使用 AES256 进行混淆。请注意,提取密钥并取回原始字节码仍然非常容易,但它应该可以防止大多数形式的“随意”篡改。
我对 AES-256 的基本理解是,如果没有人拥有您指定的加密密钥,他们将无法提取它 "easily"
有没有人比较了解?
Pyinstaller 可选择使用非常强大的方法加密 python 源。
当然,如果没有密钥,几乎不可能提取文件。
但是仍然需要在 运行 时间访问源代码,否则程序无法运行(或者每次都必须有人提供密码,例如受保护的 excel 文件) .
这意味着密钥位于已安装软件中的某处。由于所有这些东西都是开源的,查看源代码会告诉您 PyInstaller 将密钥嵌入何处。当然,这不是微不足道的,但不是一个加密破解问题,只是逆向工程 - 添加 - 可用的源。
Jean-Francois 的上述回答是正确的 - 加密密钥必须与某处的可执行文件一起分发,否则在 运行 时无法自解密。
根据 reverse engineering blog,密钥分布在构建可执行文件时生成的 .pyc 文件之一。反编译此文件可能允许访问密钥,然后可以使用该密钥来解密静态代码。 (由于该博客是2017年的,他说的位置可能已经改变,但情况仍然如此,钥匙必须在某个地方)