提交 6d984c04 编写于 作者: S Skylot

gui: update default settings

上级 3556e591
...@@ -64,7 +64,7 @@ public class JadxCLIArgs { ...@@ -64,7 +64,7 @@ public class JadxCLIArgs {
protected boolean deobfuscationOn = false; protected boolean deobfuscationOn = false;
@Parameter(names = {"--deobf-min"}, description = "min length of name, renamed if shorter") @Parameter(names = {"--deobf-min"}, description = "min length of name, renamed if shorter")
protected int deobfuscationMinLength = 2; protected int deobfuscationMinLength = 4;
@Parameter(names = {"--deobf-max"}, description = "max length of name, renamed if longer") @Parameter(names = {"--deobf-max"}, description = "max length of name, renamed if longer")
protected int deobfuscationMaxLength = 64; protected int deobfuscationMaxLength = 64;
...@@ -73,7 +73,7 @@ public class JadxCLIArgs { ...@@ -73,7 +73,7 @@ public class JadxCLIArgs {
protected boolean deobfuscationForceSave = false; protected boolean deobfuscationForceSave = false;
@Parameter(names = {"--deobf-use-sourcename"}, description = "use source file name as class name alias") @Parameter(names = {"--deobf-use-sourcename"}, description = "use source file name as class name alias")
protected boolean deobfuscationUseSourceNameAsAlias = false; protected boolean deobfuscationUseSourceNameAsAlias = true;
@Parameter(names = {"--cfg"}, description = "save methods control flow graph to dot file") @Parameter(names = {"--cfg"}, description = "save methods control flow graph to dot file")
protected boolean cfgOutput = false; protected boolean cfgOutput = false;
......
...@@ -10,21 +10,24 @@ import java.util.Map; ...@@ -10,21 +10,24 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import jadx.api.JadxArgs; import jadx.api.JadxArgs;
import jadx.cli.JadxCLIArgs; import jadx.cli.JadxCLIArgs;
public class JadxSettings extends JadxCLIArgs { public class JadxSettings extends JadxCLIArgs {
private static final Logger LOG = LoggerFactory.getLogger(JadxSettings.class);
private static final String USER_HOME = System.getProperty("user.home"); private static final String USER_HOME = System.getProperty("user.home");
private static final int RECENT_FILES_COUNT = 15; private static final int RECENT_FILES_COUNT = 15;
private static final int CURRENT_SETTINGS_VERSION = 1;
private static final Font DEFAULT_FONT = new RSyntaxTextArea().getFont(); private static final Font DEFAULT_FONT = new RSyntaxTextArea().getFont();
static final Set<String> SKIP_FIELDS = new HashSet<>(Arrays.asList( static final Set<String> SKIP_FIELDS = new HashSet<>(Arrays.asList(
"files", "input", "outputDir", "verbose", "printHelp" "files", "input", "outputDir", "verbose", "printHelp"
)); ));
private String lastOpenFilePath = USER_HOME; private String lastOpenFilePath = USER_HOME;
private String lastSaveFilePath = USER_HOME; private String lastSaveFilePath = USER_HOME;
private boolean flattenPackage = false; private boolean flattenPackage = false;
...@@ -33,10 +36,11 @@ public class JadxSettings extends JadxCLIArgs { ...@@ -33,10 +36,11 @@ public class JadxSettings extends JadxCLIArgs {
private String fontStr = ""; private String fontStr = "";
private boolean autoStartJobs = false; private boolean autoStartJobs = false;
private int settingsVersion = 0;
private Map<String, WindowLocation> windowPos = new HashMap<>(); private Map<String, WindowLocation> windowPos = new HashMap<>();
public JadxSettings() { public JadxSettings() {
setSkipResources(true);
} }
public void sync() { public void sync() {
...@@ -47,6 +51,9 @@ public class JadxSettings extends JadxCLIArgs { ...@@ -47,6 +51,9 @@ public class JadxSettings extends JadxCLIArgs {
if (threadsCount <= 0) { if (threadsCount <= 0) {
threadsCount = JadxArgs.DEFAULT_THREADS_COUNT; threadsCount = JadxArgs.DEFAULT_THREADS_COUNT;
} }
if (settingsVersion != CURRENT_SETTINGS_VERSION) {
upgradeSettings(settingsVersion);
}
} }
public String getLastOpenFilePath() { public String getLastOpenFilePath() {
...@@ -213,4 +220,20 @@ public class JadxSettings extends JadxCLIArgs { ...@@ -213,4 +220,20 @@ public class JadxSettings extends JadxCLIArgs {
return ""; return "";
} }
} }
private void upgradeSettings(int fromVersion) {
LOG.debug("upgrade settings from version: {} to {}", fromVersion, CURRENT_SETTINGS_VERSION);
if (fromVersion == 0) {
setDeobfuscationMinLength(4);
setDeobfuscationUseSourceNameAsAlias(true);
setDeobfuscationForceSave(true);
setThreadsCount(1);
setReplaceConsts(true);
setSkipResources(false);
setAutoStartJobs(false);
// fromVersion++;
}
settingsVersion = CURRENT_SETTINGS_VERSION;
sync();
}
} }
package jadx.gui.treemodel; package jadx.gui.treemodel;
public abstract class JLoadableNode extends JNode { public abstract class JLoadableNode extends JNode {
private static final long serialVersionUID = 5543590584166374958L;
public abstract void loadNode(); public abstract void loadNode();
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册