我们是开源模拟项目的用户,许可协议允许在没有来源的情况下分发可执行文件。该软件编译为DLL,可以通过两种方式初始化:
第二个选项成立,因为用户表示犹豫分配输入文件,因为它们包含有关他们正在模拟的东西的IP。开发人员非常友好。
问题:假设A公司使用第二个选项来分发可供客户端使用的可执行文件。公司A可以采取哪些措施来确保数据受到保护/保护/加密?这里的偏执是为了确保有人不能使用源来查找可执行文件中的模式(通过反编译或其他方法)并在编译时发现变量值。
操作系统是linux,OSx和Windows。
答案 0 :(得分:1)
无。
该工具是开源的事实与该问题几乎没有关系。通过一个小调整,对于编译成闭源程序的IP,它是相同的答案。
加密不起作用。您可以阅读更多相关信息here,但简而言之,您需要向对手提供锁定数据和密钥。这样的方案实际上是密钥长度为零,并被称为"混淆"。
另一个复杂因素是你的对手对通过定义良好的DLL接口的数据感兴趣。任何人都可以监视程序和DLL之间的接口,并获取实际数据,就像它在文件中一样容易。
你唯一可以做的就是在这里开源帮助,就是将你的IP集成到DLL中,然后尝试模糊整个事情。和以前一样,要注意这只会使得获取数据变得更加困难,从来不可能这样。