跳到主要内容
版本:v4

Denuvo

TapTap PC 当前采用 命令行集成方案(Command-Line Integration) 对接 Denuvo。在玩家通过 TapTap PC 启动受保护游戏时,TapTap PC 会自动传入 Denuvo 所需的启动参数和平台凭证(Platform License Token),用于完成平台侧对接。

在该接入方式下,Denuvo 所需参数由 TapTap PC 自动拼装并传递,游戏侧通常无需额外处理 DRM 凭证的获取与下发逻辑。

前提条件

在启用 Denuvo 之前,请先确认以下条件:

  1. 游戏已完成 TapSDK PC 基础接入,并通过 TapTap PC 启动。
  2. 游戏为买断制 PC 游戏,并且已完成平台正版验证接入。
  3. 游戏侧已完成 Denuvo 厂商的商务签约与技术集成。
  4. Denuvo 接入建立在正版验证之上,请确保游戏已完成 TapApps_IsOwned 的正版验证逻辑。

命令行参数说明

TapTap PC 端启动 Denuvo 保护的游戏时,会自动附带以下参数:

参数说明
-dlv接口版本号,当前固定为 1
-dltPlatform License Token,由 TapTap Server 签发
-did当前登录用户标识
-dlg语言标识,例如 zh-CN
-dlpDenuvo Game Token 的本地读写目录
提示

上述参数由 TapTap PC 端自动拼装并传递,游戏侧无需手动处理,也不需要自行解析命令行参数。

aud 对接约定

TapTap 与 Denuvo 约定使用以下格式作为游戏的 aud(Application ID)标识:

taptap-denuvo-{appid}

其中 {appid} 为游戏在 TapTap 平台上的应用 ID。

该标识需要在 Denuvo 侧完成配置,并由游戏开发者在与 Denuvo 对接时提供。

开发者中心配置

完成前述接入后,可前往开发者中心的 PC 包体管理 → 基础配置 → 反盗版保护 中选择 Denuvo

开发者中心反盗版保护配置示意图

技术原理

TapTap PC 会在玩家启动游戏时,先向服务端请求正版验证结果与 Denuvo 所需凭证,再将返回结果拼装为命令行参数并传递给游戏。随后由 Denuvo 保护层完成启动阶段的 activation、revalidation 与本地 Token 校验。

工作流程参考

离线启动与 Game Token

Denuvo 支持离线启动机制:

  • 首次成功 activation 后,Denuvo 会将 Game Token 加密并写入本地存储(由 -dlp 参数指定的目录)。
  • 后续启动时,如果本地 Game Token 仍然有效,游戏可以直接使用该 Token 启动,无需联网。
  • 如果本地 Game Token 过期、损坏或不存在,则需要重新通过 Platform License Token 完成 activation。

运行时权益变化

Denuvo 的校验范围主要集中在游戏 启动阶段。游戏运行过程中发生的权益变化(例如退款、撤销授权),不由 Denuvo 负责处理。

运行时的权益状态变化由 TapSDK 的正版验证机制负责:

  • 通过 TapApps_IsOwned 查询当前所有权状态。
  • 通过 TapEventID::GamePlayableStatusChanged 事件监听可玩状态变化。

建议游戏侧结合上述机制处理运行中的权益变化场景。

补充说明

  • 如需了解 Denuvo 本身的技术细节(如 Game Token 格式、加密机制等),请参阅 Denuvo 官方文档。