保护开源软件可执行文件中的公司数据

时间:2016-05-22 17:45:31

标签: c encryption dll decompiling decompiler

我们是开源模拟项目的用户,许可协议允许在没有来源的情况下分发可执行文件。该软件编译为DLL,可以通过两种方式初始化:

  1. 它读取一系列人类可读的文本文件来分配/设置不同的变量。这是默认选项。
  2. 或者,提供可选的源文件以及在编译时设置变量的分布。不需要输入文件。
  3. 第二个选项成立,因为用户表示犹豫分配输入文件,因为它们包含有关他们正在模拟的东西的IP。开发人员非常友好。

    问题:假设A公司使用第二个选项来分发可供客户端使用的可执行文件。公司A可以采取哪些措施来确保数据受到保护/保护/加密?这里的偏执是为了确保有人不能使用源来查找可执行文件中的模式(通过反编译或其他方法)并在编译时发现变量值。

    操作系统是linux,OSx和Windows。

1 个答案:

答案 0 :(得分:1)

无。

该工具是开源的事实与该问题几乎没有关系。通过一个小调整,对于编译成闭源​​程序的IP,它是相同的答案。

加密不起作用。您可以阅读更多相关信息here,但简而言之,您需要向对手提供锁定数据和密钥。这样的方案实际上是密钥长度为零,并被称为"混淆"。

另一个复杂因素是你的对手对通过定义良好的DLL接口的数据感兴趣。任何人都可以监视程序和DLL之间的接口,并获取实际数据,就像它在文件中一样容易。

你唯一可以做的就是在这里开源帮助,就是将你的IP集成到DLL中,然后尝试模糊整个事情。和以前一样,要注意这只会使得获取数据变得更加困难,从来不可能这样。