feat(deobf): implement a whitelist for deobfuscation (PR #2040)

This commit is contained in:
nitram84
2023-11-05 21:21:41 +01:00
committed by GitHub
parent 41d986bdca
commit f7002c7fad
15 changed files with 148 additions and 1 deletions
@@ -137,6 +137,10 @@ public class JadxCLIArgs {
@Parameter(names = { "--deobf-max" }, description = "max length of name, renamed if longer")
protected int deobfuscationMaxLength = 64;
@Parameter(names = { "--deobf-whitelist}" }, description = "debfucation whitelist")
protected String deobfuscationWhitelist =
"android.support.v4.*:android.support.v7.*:android.support.v4.os.*:android.support.annotation.Px:androidx.core.os.*:androidx.annotation.Px";
@Parameter(
names = { "--deobf-cfg-file" },
description = "deobfuscation mappings file used for JADX auto-generated names (in the JOBF file format),"
@@ -316,6 +320,7 @@ public class JadxCLIArgs {
args.setGeneratedRenamesMappingFileMode(generatedRenamesMappingFileMode);
args.setDeobfuscationMinLength(deobfuscationMinLength);
args.setDeobfuscationMaxLength(deobfuscationMaxLength);
args.setDeobfuscationWhitelist(deobfuscationWhitelist);
args.setUseSourceNameAsClassAlias(deobfuscationUseSourceNameAsAlias);
args.setUseKotlinMethodsForVarNames(useKotlinMethodsForVarNames);
args.setResourceNameSource(resourceNameSource);
@@ -443,6 +448,10 @@ public class JadxCLIArgs {
return deobfuscationMaxLength;
}
public String getDeobfuscationWhitelist() {
return deobfuscationWhitelist;
}
public String getGeneratedRenamesMappingFile() {
return generatedRenamesMappingFile;
}