/

Polymorphic Builds

Protection ID: polymorphic

Polymorphic Builds ensure that each build of your application produces a unique binary, even when the source code and configuration have not changed. This prevents attackers from developing universal bypass techniques that work across all copies of your application.


Configuration

JSON
{
  "protections": {
    "polymorphic": true
  }
}

How It Works

Without polymorphic builds, the same source code with the same protection configuration always produces the same protected binary. This means an attacker who defeats the protection on one copy can apply the same technique to every other copy.

Polymorphic Builds use seed-based randomization to vary the obfuscation output on every build. The same protections are applied, but the specific transformations differ each time. Register assignments, instruction substitutions, control flow structures, and dead code patterns are all varied between builds.

This forces attackers to start their analysis from scratch on each new build, as tools and scripts developed for one version will not work on another.


When to Use

Polymorphic Builds are recommended for applications distributed to large audiences, applications that are frequent targets of reverse engineering, software with high-value intellectual property, and any scenario where you want to ensure that cracking one copy does not compromise all copies.

This protection works best when combined with the full suite of code obfuscation protections, maximizing the variation between builds.


Previous
Tamper Detection