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:
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.
apply plugin: 're.obfuscator.dprotect'
// ...
dProtect {
configurations {
release {
configuration 'dprotect-rules.pro'
}
}
}
You can also find out more information here: https://obfuscator.re/dprotect
You can reach out by email at this address: ping@obfuscator.re
- Romain Thomas: @rh0main -
me@romainthomas.fr
- Guardsquare: Proguard's Owner
- Eric Lafortune: Proguard's Author
- James Hamilton: Proguard's Core dev/maintainer
dProtect is released under the same License as Proguard: GNU General Public License v2.0