Skip to main content
Version: v4

Denuvo

TapTap PC integrates Denuvo using the Command-Line Integration approach. When a protected game is launched through TapTap PC, the launcher automatically passes the required launch parameters and platform credential (Platform License Token) to support the platform-side integration.

Under this approach, the Denuvo launch parameters are assembled and passed by TapTap PC. In most cases, the game does not need additional DRM credential retrieval or delivery logic.

Prerequisites

Before enabling Denuvo, make sure the following conditions are met:

  1. The game has completed the basic TapSDK PC integration and is launched through TapTap PC.
  2. The game is a paid PC title with platform-side ownership verification already integrated.
  3. The game has completed the Denuvo vendor-side commercial and technical integration.
  4. Denuvo integration is built on top of ownership verification. Make sure TapApps_IsOwned is properly implemented.

Command-Line Parameters

When launching a Denuvo-protected game, TapTap PC automatically includes the following parameters:

ParameterDescription
-dlvInterface version, currently fixed at 1
-dltPlatform License Token, issued by TapTap Server
-didCurrent logged-in user identifier
-dlgLanguage identifier, e.g. zh-CN
-dlpLocal read/write directory for the Denuvo Game Token
tip

These parameters are assembled and passed automatically by TapTap PC. The game does not need to handle them manually or parse them in its own logic.

aud Convention

TapTap and Denuvo use the following format as the game's aud (Application ID) identifier:

taptap-denuvo-{appid}

{appid} is the application's ID on the TapTap platform.

This identifier must be configured on the Denuvo side and should be provided by the game developer during Denuvo setup.

Developer Center Configuration

After the preceding integration is complete, go to PC Package Management → Basic Settings → Anti-Piracy Protection in Developer Center and select Denuvo.

Developer Center anti-piracy protection configuration example

Technical Overview

When the player launches the game, TapTap PC first requests the ownership result and the credential required by Denuvo from the server. It then assembles the returned data into command-line parameters and passes them to the game. After that, the Denuvo protection layer handles launch-time activation, revalidation, and local token checks.

Flow Reference

Offline Launch and Game Token

Denuvo supports offline launch:

  • After the first successful activation, Denuvo encrypts and stores a Game Token locally (in the directory specified by -dlp).
  • On subsequent launches, if the local Game Token is still valid, the game can launch directly without network access.
  • If the local Game Token has expired, is corrupted, or does not exist, a new activation through the Platform License Token is required.

Runtime Entitlement Changes

Denuvo validation primarily covers the game launch phase. Entitlement changes during gameplay (e.g., refund, revocation) are not handled by Denuvo.

Runtime entitlement changes are managed by TapSDK's ownership verification mechanism:

  • Use TapApps_IsOwned to query the current ownership status.
  • Listen for TapEventID::GamePlayableStatusChanged to detect playable state changes.

It is recommended that the game handle runtime entitlement changes using these mechanisms.

Additional Notes

  • For technical details about Denuvo itself, such as Game Token format or encryption, refer to the official Denuvo documentation.