首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使代码与企业客户端混淆?

如何使代码与企业客户端混淆?
EN

Stack Overflow用户
提问于 2019-09-23 18:52:38
回答 2查看 129关注 0票数 1

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

在第一类中,客户端支付许可证,并接收软件在他们自己选择的机器上运行。客户端拥有实际的代码和软件。

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

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

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

在这种情况下,是否需要将所有代码重写为像C++这样的编译语言,以便在编译时混淆它?或者是否有一种方法可以将其保存在Python中,但以另一种方式保护源代码呢?

更新:给出了下面的答案,在这种情况下,开发客户机托管的应用程序(即:上面的第一类)的更有效的方法是首先用一种更方便的语言编写概念证明,然后将这些想法重写为C++吗?

EN

回答 2

Stack Overflow用户

发布于 2019-09-23 18:55:55

简单地说,你做不到。你可以做一些解决办法,但最终几乎所有人都可以反向工程你的代码,不管你怎么混淆它。

最好的选择可能是使用类似PyInstaller的内容,看看是否只能包含.pyc文件。这并不能保护你,但至少会让你感到痛苦。你甚至可以找到一个模糊迎合它运行的第一个,但我不太了解这部分。

票数 1
EN

Stack Overflow用户

发布于 2019-09-23 19:00:33

类似于上面@gabeappleton的建议,将Python代码编译成EXE。我经常使用cx_freeze,并且取得了很好的成功。这是相当好的文档和合理的支持在这些论坛。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58068511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档