C++ 的复制保护 API

copy protection API for C++

我有一些 C++/DirectX 游戏想从我的网站开始销售。保护我的游戏不被 copied/shared 破坏的最好方法是什么?我真的不想使用经典的 DRM,而且这些游戏不太适合 ingame purchase/freemium 模型。 我不认为访问者付费后显示下载 link 是正确答案... 如果 DRM 是唯一的方式——即使我不喜欢它——是否有其他游戏开发者使用的轻量级 DRM 解决方案? (保护最少的东西)

谢谢!

如果游戏只是在线玩的话,这很容易...只在服务器上执行部分游戏计算,并使用登录。但是如果你有单人模式...

一个好的 "minimal" 保护是使用硬件指纹和从服务器下载的匹配 HMAC。当用户将游戏移动到另一台计算机时,他们必须使用他们的凭证来生成新的 HMAC。游戏本身不包含生成 HMAC 所需的私钥,仅包含验证所需的 public 密钥。这将防止意外的未经授权的复制,无论如何你对熟练的破解者无能为力。

包含日落逻辑可能是个好主意,以防有一天您关闭服务器,您不希望您的付费客户无法重新安装。在发行 3 年多之后,您仍能从销售中获得可观收入的可能性微乎其微。如果您厌倦了检查许可证,您也可以在将来某个时候发布删除许可证检查的 "update"。

有关您不想参加军备竞赛的原因的更多信息,请参阅我的回答:The #1 law of software licensing