A obfuscater with invokedynamic
MIT License
A tool to make a Jar Hard to decompile. Decompiler will make invalid source code or internal error will be thrown
add this
buildscript {
dependces {
classpath group: 'com.anatawa12.decompileCrasher', name: 'gradle-plugin', version: '<version>'
}
}
apply plugin: 'com.anatawa12.tools.decompileCrasher'
task class signature is like this(in real, we use getter and setter from Kotlin)
class ObfuscationTask {
// jar task to make jar which will obfuscation with this
// get some data from jar task.
// if you want to make ObfuscationTask, please set this field.
Jar jarTask;
// a class path to make CallSite
// default value is "com/anatawa12/tools/lib/A"
String solveClassPath;
// method name of make CallSite for method
// default value is "m"
String methodSolveMethod;
// method name of make CallSite for field(now not allowed)
// default value is "m"
String fieldSolveMethod;
// output directory
// defaut value is "$buildDir/libs"
File destinationDir;
// postfix of jar name. this will put after classfier
// defaut value is "obfuscated"
String postfix;
// prefixes of class name which do not anything in this tool
// default value is empty set
void exclusions(String... exclusions);
final Set<String> exclusions;
// output class to make CallSite in the jar. if false, you must make it yourself.
// default value is true
boolean withIndyClass;
}
download from Releases and see readme.en.txt
or exec run_unix.sh
or run_win.dat
(please select by your OS).
this software was released under MIT License