Skip to content

open-obfuscator/dProtect

Repository files navigation



dProtect

dProtect is an extension of Proguard with enhanced code obfuscation features. While Proguard is known for obfuscating symbols (package names, class names, ...) and optimizing Java/Kotlin code, dProtect brings code obfuscation for Java and Kotlin on the top of Proguard:

# Arithmetic Obfuscation
-obfuscate-arithmetic,low class dprotect.examples.**
-obfuscate-arithmetic,high,skipfloat class dprotect.internal.**

# Strings Obfuscation
-obfuscate-strings class dprotect.examples.**
-obfuscate-strings class dprotect.internal.CheckPassword {
    public static java.lang.String getPassword();
    public static java.lang.String getLogin();

    private static java.lang.String KEY;
}

# Control-flow obfuscation
-obfuscate-control-flow class dprotect.internal.api.**

# Constants Obfuscation
-obfuscate-constants class dprotect.internal.api.Enum {
  *;
}

dProtect follows the same integration mechanism as Proguard such as it can be instantiated in an Android Gradle-based project as follows:

build.gradle
buildscript {
    repositories {
        mavenCentral()
        maven {
          url = uri("https://maven.pkg.github.com/open-obfuscator/dProtect")
          credentials {
              username = "your-username"
              password = "the-token"
          }
        }
    }
    dependencies {
        classpath 're.obfuscator:dprotect-gradle:1.0.0'
    }
}

You need to generate a Github token to use maven.pkg.github.com. Alternatively, you can use the dprotect-gradle-1.0.0.jar archive of the release's artifacts.

app/build.gradle
apply plugin: 're.obfuscator.dprotect'
// ...
dProtect {
    configurations {
      release {
          configuration 'dprotect-rules.pro'
      }
    }
}

dProtect Pipeline

You can also find out more information here: https://obfuscator.re/dprotect

Contact

You can reach out by email at this address: [email protected]

Maintainers

Credits

License

dProtect is released under the same License as Proguard: GNU General Public License v2.0