Skip to content

Commit 919386f

Browse files
committed
feat(obf): working v2 string obfuscation
1 parent e6c2815 commit 919386f

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/Skidfuscator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ private void _verify() {
691691
+ "/!\\ Skidfuscator failed to compute some libraries!\n"
692692
+ "It it advised to read https://github.com/terminalsin/skidfuscator-java-obfuscator/wiki/Libraries\n"
693693
+ "\n"
694+
+ "The following class was NOT found. This can be a dependency of a dependency."
694695
+ "Error: " + e.getMessage() + "\n" +
695696
(e.getCause() == null
696697
? "\n"

dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/string/StringTransformerV2.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import dev.skidfuscator.obfuscator.transform.impl.string.generator.EncryptionGeneratorV3;
1414
import dev.skidfuscator.obfuscator.transform.impl.string.generator.v3.ByteBufferClinitV3EncryptionGenerator;
1515
import dev.skidfuscator.obfuscator.transform.impl.string.generator.v3.BytesClinitV3EncryptionGenerator;
16+
import dev.skidfuscator.obfuscator.transform.impl.string.generator.v3.BytesV3EncryptionGenerator;
1617
import dev.skidfuscator.obfuscator.util.RandomUtil;
1718
import org.mapleir.asm.ClassNode;
1819
import org.mapleir.ir.cfg.ControlFlowGraph;
@@ -62,15 +63,28 @@ void handle(final RunMethodTransformEvent event) {
6263
EncryptionGeneratorV3 generator = keyMap.get(parentNode);
6364

6465
if (generator == null) {
65-
switch (RandomUtil.nextInt(1)) {
66-
default: {
66+
switch (RandomUtil.nextInt(3)) {
67+
case 0: {
6768
final int size = RandomUtil.nextInt(127) + 1;
6869
final byte[] keys = new byte[size];
6970

7071
for (int i = 0; i < size; i++) {
7172
keys[i] = (byte) (RandomUtil.nextInt(127) + 1);
7273
}
74+
keyMap.put(parentNode, (generator = new BytesV3EncryptionGenerator(keys)));
75+
break;
76+
}
77+
case 1: {
78+
final int size = RandomUtil.nextInt(127) + 1;
79+
final byte[] keys = new byte[size];
7380

81+
for (int i = 0; i < size; i++) {
82+
keys[i] = (byte) (RandomUtil.nextInt(127) + 1);
83+
}
84+
keyMap.put(parentNode, (generator = new BytesClinitV3EncryptionGenerator(keys)));
85+
break;
86+
}
87+
default: {
7488
keyMap.put(parentNode, (generator = new ByteBufferClinitV3EncryptionGenerator()));
7589
break;
7690
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package dev.skidfuscator.obfuscator.util;
2+
3+
/**
4+
* Creates and reads a small database of common dependencies.
5+
* This is used to
6+
*/
7+
public class DependencyUtil {
8+
//public
9+
}
10+

0 commit comments

Comments
 (0)