Skip to content

Commit bbc0ad5

Browse files
committed
grouping options with label comments
1 parent c70ce93 commit bbc0ad5

1 file changed

Lines changed: 22 additions & 17 deletions

File tree

src/main/java/jadx/plugins/stringdecoder/B64DeobfuscateOptions.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,25 @@ public class B64DeobfuscateOptions extends BasePluginOptionsBuilder {
1717

1818
@Override
1919
public void registerOptions() {
20-
boolOption(JadxStringDecoderPlugin.PLUGIN_ID + ".enable")
20+
// General options for all passes
21+
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".maxCommentLength")
22+
.description("Maximum decoded string length in comment before truncating with '...' (0 for unlimited)")
23+
.defaultValue(100)
24+
.setter(v -> maxCommentLength = v);
25+
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".minDecodedLength")
26+
.description("Minimum decoded string length to add a comment (0 = disabled); rejects very short decoded outputs")
27+
.defaultValue(0)
28+
.setter(v -> minDecodedLength = v);
29+
30+
// B64DeobfuscatePass options
31+
boolOption(JadxStringDecoderPlugin.PLUGIN_ID + ".enableB64DecodePass")
2132
.description("Enable Base64 string detection and decoding")
2233
.defaultValue(true)
2334
.setter(v -> enable = v);
24-
boolOption(JadxStringDecoderPlugin.PLUGIN_ID + ".enableByteArrayStringPass")
25-
.description("Enable byte[] field string detection pass")
26-
.defaultValue(true)
27-
.setter(v -> enableByteArrayStringPass = v);
28-
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".byteArrayMinPrintablePercent")
29-
.description("Minimum percentage of printable ASCII chars in a byte[] field for it to be annotated (0-100)")
30-
.defaultValue(20)
31-
.setter(v -> byteArrayMinPrintablePercent = v);
3235
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".minInputLength")
3336
.description("Minimum length of an encoded string to be considered for decoding")
3437
.defaultValue(8)
3538
.setter(v -> minInputLength = v);
36-
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".maxCommentLength")
37-
.description("Maximum decoded string length in comment before truncating with '...' (0 for unlimited)")
38-
.defaultValue(100)
39-
.setter(v -> maxCommentLength = v);
4039
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".minPrintablePercent")
4140
.description("Minimum percentage of printable ASCII chars in decoded string (0-100); higher values reduce false positives")
4241
.defaultValue(90)
@@ -53,10 +52,16 @@ public void registerOptions() {
5352
.description("Skip short strings that look like camelCase identifiers (e.g. getContext, fillItem)")
5453
.defaultValue(true)
5554
.setter(v -> skipCamelCase = v);
56-
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".minDecodedLength")
57-
.description("Minimum decoded string length to add a comment (0 = disabled); rejects very short decoded outputs")
58-
.defaultValue(0)
59-
.setter(v -> minDecodedLength = v);
55+
56+
// ByteArrayStringPass options
57+
boolOption(JadxStringDecoderPlugin.PLUGIN_ID + ".enableByteArrayStringPass")
58+
.description("Enable byte[] field string detection pass")
59+
.defaultValue(true)
60+
.setter(v -> enableByteArrayStringPass = v);
61+
intOption(JadxStringDecoderPlugin.PLUGIN_ID + ".byteArrayMinPrintablePercent")
62+
.description("Minimum percentage of printable ASCII chars in a byte[] field for it to be annotated (0-100)")
63+
.defaultValue(20)
64+
.setter(v -> byteArrayMinPrintablePercent = v);
6065
}
6166

6267
public boolean isEnable() {

0 commit comments

Comments
 (0)