gpt4 book ai didi

python - 如何防止企业客户端混淆我的代码?

转载 作者:行者123 更新时间:2023-12-01 07:14:02 24 4
gpt4 key购买 nike

如今的软件可以分为两类:在客户端基础设施上运行(例如企业软件,例如 Splunk 或 Tibco),或者在软件提供商的基础设施上运行(例如 Facebook,其中您需要使用他们的 API 来访问后端)。

在第一类中,客户支付许可证费用并收到软件,以便在他们选择的场所自己的计算机上运行。客户拥有实际的代码和软件。

第二类,软件驻留在外部,只能通过 API 访问。客户端不拥有该软件,只能在 API 允许的范围内使用该软件。

我的问题是:在上面的第一类中,实际代码如何对客户端隐藏?

假设我已经用 Python 构建了一个非常棒的分析引擎来分析输出日志。企业客户有兴趣将其用于其内部应用程序。然而,出于安全原因,他们坚持认为我的引擎必须在他们自己的机器上运行。如果我屈服并给他们我的 Python 代码,那么我就会冒着我的知识产权的风险。

在这种情况下,我是否需要将所有代码重写为 C++ 等编译语言,以便在编译时对其进行混淆?或者有没有办法将其保留在 Python 中,但以其他方式保护源代码?

更新:鉴于下面的答案,在这种情况下,开发客户端托管应用程序(即上面的第一类)的更有效途径是否是首先使用更方便的语言(如 Python)编写概念证明,然后将这些想法和将其重写为 C++?

最佳答案

简短的回答是你几乎不能。您可以采取变通办法,但最终几乎任何人都可以对您的代码进行逆向工程,无论您如何混淆它。

您最好的选择可能是使用类似 PyInstaller 的内容看看是否只能包含 .pyc 文件。这并不能完全保护你,但至少让逆转变得很痛苦。您甚至可以找到一个混淆器来先运行它,但我对此部分了解不多。

关于python - 如何防止企业客户端混淆我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58068511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com