2

我正在用 C++ 编写一个软件,它的目标是软件传统上被严重破解(或至少试图破解)的市场。我意识到没有什么是可以完全保护的,但是我觉得尝试是个好主意,而且我认为我所处的情况的一些细节可能会有所帮助。

首先,用户必须有互联网连接才能使用该软件,这不会让用户感到烦恼。当游戏等也这样做时,我讨厌它,但是由于其目的,该软件无论如何都需要互联网连接才能运行,因此这不会妨碍普通用户。

其次,它在很大程度上取决于我编写和/或第三方提供的外部脚本,所以我可以将这些存储在某个网站上,这意味着破解软件的人还必须追踪脚本的新副本,这可能会惹恼他们成为合法的。

第三,根据应用程序的定义,新版本必须经常发布,每周或最多每两周发布一次。该程序显然会有一个自动更新程序,但是由于我经常生产(需要运行)更新,因此任何类型的基于密钥的加密或任何可能使密钥/方法在每次更新时都会改变的东西,我有能力打破现有的当它们确实发生时会出现裂缝。

有谁知道我可以实施的符合要求的任何可用解决方案或技术?

4

3 回答 3

4

如果您的应用程序正在执行某种数据处理或分析,您可以通过将该部分放入您的客户端应用程序连接并进行身份验证然后从中接收结果的 Web 服务(可能在云中)来保护它。因此,即使您的客户端应用程序进行了逆向工程,它也会丢失重要的处理部分。

如果您的应用程序是基于 Web 的,您也会获得相同的效果。

于 2010-01-02T08:30:34.457 回答
1

我猜该软件的旧版本远不如最新版本有用。

如果是这样,那么您已经拥有了强大的反破解技术:您的更新机制。当您发现您的软件有被黑版本时,您可以立即检查它,并给被黑软件的用户带来麻烦。

于 2010-01-02T08:35:08.037 回答
1

我之前已经成功使用过CrypKey

于 2010-01-02T08:06:28.107 回答