:electron: dProtect is a Proguard-based obfuscator for Java and Kotlin
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: [email protected]
dProtect is released under the same License as Proguard: GNU General Public License v2.0