Skip to content

Commit

Permalink
fix(all): fully fixed and ready to go
Browse files Browse the repository at this point in the history
  • Loading branch information
terminalsin committed Jan 24, 2023
1 parent df506a8 commit a0543e9
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 705 deletions.
1 change: 0 additions & 1 deletion dev.skidfuscator.obfuscator/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ dependencies {
compileOnly 'org.projectlombok:lombok:1.18.24'

api project(':commons')
api project(':native')
implementation 'com.github.lukfor:magic-progress:0.3.2'
implementation 'com.github.matomo-org:matomo-java-tracker:v1.7'
api 'com.github.Col-E:jphantom:1.4.3'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public Skidfuscator(SkidfuscatorSession session) {
* Runs the execution of the obfuscator.
*/
public void run() {
LOGGER.post("Beginning Skidfuscator Enterprise...");
LOGGER.post("Beginning Skidfuscator Community...");
if (session.isAnalytics()) {
_runAnalytics();
}
Expand Down Expand Up @@ -540,12 +540,6 @@ protected void _loadTransformer() {
public List<Transformer> getTransformers() {
final List<Transformer> transformers = new ArrayList<>();

if (FLATTENING) {
return new ArrayList<>(Arrays.asList(
new FlatteningFlowTransformer(this)
));
}

if (tsConfig.hasPath("stringEncryption.type")) {
switch (tsConfig.getEnum(StringEncryptionType.class, "stringEncryption.type")) {
case STANDARD: transformers.add(new StringTransformer(this)); break;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
import dev.skidfuscator.obfuscator.transform.Transformer;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.BytesEncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.EncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.algo.AESEncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.algo.CaesarEncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.basic.BasicEncryptionGenerator;
import dev.skidfuscator.obfuscator.util.RandomUtil;
import org.mapleir.asm.ClassNode;
Expand Down Expand Up @@ -67,22 +65,6 @@ void handle(final RunMethodTransformEvent event) {

if (generator == null) {
switch (RandomUtil.nextInt(1)) {
case 1: {
final String iv = RandomUtil.randomAlphabeticalString(16);
keyMap.put(parentNode, (generator = new AESEncryptionGenerator(iv)));
break;
}
case 2: {
final int size = RandomUtil.nextInt(127) + 1;
final Integer[] keys = new Integer[size];

for (int i = 0; i < size; i++) {
keys[i] = RandomUtil.nextInt(127) + 1;
}

keyMap.put(parentNode, (generator = new CaesarEncryptionGenerator(keys)));
break;
}
default: {
final int size = RandomUtil.nextInt(127) + 1;
final Integer[] keys = new Integer[size];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,6 @@ protected void _cleanup() {

}

@Override
protected void _pack() {

}

@Override
protected void _dump() {
final PhantomResolvingJarDumper resolver = new PhantomResolvingJarDumper(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import dev.skidfuscator.obfuscator.SkidfuscatorSession;
import dev.skidfuscator.obfuscator.transform.Transformer;
import dev.skidfuscator.obfuscator.transform.impl.SwitchTransformer;
import dev.skidfuscator.obfuscator.transform.impl.renamer.ClassRenamerTransformer;
import dev.skidfuscator.obfuscator.transform.impl.renamer.MethodRenamerTransformer;
import dev.skidfuscator.obfuscator.transform.impl.flow.BasicRangeTransformer;
import dev.skidfuscator.obfuscator.transform.impl.flow.exception.BasicExceptionTransformer;
import org.junit.jupiter.api.Test;

import java.io.File;
Expand Down Expand Up @@ -39,46 +39,46 @@ public void testDefaultConfig() {

// Specific enabled check
// This is *stated* to be enabled
final ClassRenamerTransformer classRenamerTransformer = new ClassRenamerTransformer(
final BasicRangeTransformer rangeTransformer = new BasicRangeTransformer(
skidfuscator
);
assertEquals(
true,
skidfuscator.getTsConfig().hasPath("classRenamer")
skidfuscator.getTsConfig().hasPath("flowRange")
);
assertEquals(
true,
skidfuscator.getTsConfig().hasPath("classRenamer.enabled")
skidfuscator.getTsConfig().hasPath("flowRange.enabled")
);
assertEquals(
true,
skidfuscator.getTsConfig().getBoolean("classRenamer.enabled")
skidfuscator.getTsConfig().getBoolean("flowRange.enabled")
);
assertEquals(
true,
classRenamerTransformer.getConfig().isEnabled()
rangeTransformer.getConfig().isEnabled()
);

// Specific disabled check
// This is *stated* to be disabled
final MethodRenamerTransformer methodRenamerTransformer = new MethodRenamerTransformer(
final BasicExceptionTransformer exceptionTransformer = new BasicExceptionTransformer(
skidfuscator
);
assertEquals(
true,
skidfuscator.getTsConfig().hasPath("methodRenamer")
skidfuscator.getTsConfig().hasPath("flowException")
);
assertEquals(
true,
skidfuscator.getTsConfig().hasPath("methodRenamer.enabled")
skidfuscator.getTsConfig().hasPath("flowException.enabled")
);
assertEquals(
false,
skidfuscator.getTsConfig().getBoolean("methodRenamer.enabled")
skidfuscator.getTsConfig().getBoolean("flowException.enabled")
);
assertEquals(
false,
methodRenamerTransformer.getConfig().isEnabled()
exceptionTransformer.getConfig().isEnabled()
);

// General enabled check
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package dev.skidfuscator.test;

import dev.skidfuscator.obfuscator.transform.impl.string.generator.BytesEncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.algo.AESEncryptionGenerator;
import dev.skidfuscator.obfuscator.transform.impl.string.generator.algo.CaesarEncryptionGenerator;
import dev.skidfuscator.obfuscator.util.RandomUtil;
import org.junit.jupiter.api.Test;

Expand Down Expand Up @@ -55,67 +53,4 @@ private Integer[] _genKeys() {

return keysT;
}

@Test
public void aesStringEncryptTest() {
final String string = RandomUtil.randomAlphabeticalString(10);

final String keys = RandomUtil.randomAlphabeticalString(16);
final AESEncryptionGenerator generator = new AESEncryptionGenerator(keys);
final int seed = this._genSeed();

final byte[] encrypted = generator.encrypt(string, seed);
final String decrypted = generator.decrypt(encrypted, seed);

assert string.equals(decrypted) : "Encrypted string failed: " + string + " became " + decrypted;
System.out.println("Passed AES Encryption Test #1");
}

@Test
public void aesStringEncryptTestUTF8() {
final String string = "Œüèé€ìàò";

final String keys = RandomUtil.randomAlphabeticalString(16);
final AESEncryptionGenerator generator = new AESEncryptionGenerator(keys);
final int seed = this._genSeed();

final byte[] encrypted = generator.encrypt(string, seed);
final String decrypted = generator.decrypt(encrypted, seed);

assert string.equals(decrypted) : "Encrypted string failed: " + string + " became " + decrypted;
System.out.println("Passed AES Encryption Test #2");
}

@Test
public void caesarStringEncryptTest() {
final String string = RandomUtil.randomAlphabeticalString(10);

final Integer[] keysT = this._genKeys();

final CaesarEncryptionGenerator generator = new CaesarEncryptionGenerator(keysT);
final int seed = this._genSeed();

final byte[] encrypted = generator.encrypt(string, seed);
System.out.println("Encrypted: " + new String(encrypted, StandardCharsets.UTF_16) + " (was: " + string + ")");
final String decrypted = generator.decrypt(encrypted, seed);

assert string.equals(decrypted) : "Encrypted string failed: " + string + " became " + decrypted;
System.out.println("Passed caesar Encryption Test #1");
}

@Test
public void caesarStringEncryptTestUTF8() {
final String string = "Œüèé€ìàò";

final Integer[] keysT = this._genKeys();
final CaesarEncryptionGenerator generator = new CaesarEncryptionGenerator(keysT);
final int seed = this._genSeed();

final byte[] encrypted = generator.encrypt(string, seed);
System.out.println("Encrypted: " + new String(encrypted, StandardCharsets.UTF_16));
final String decrypted = generator.decrypt(encrypted, seed);

assert string.equals(decrypted) : "Encrypted string failed: " + string + " became " + decrypted;
System.out.println("Passed caesar Encryption Test #2");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,11 @@ exempt: [

driver: false

classRenamer {
flowRange {
enabled: true
}

methodRenamer {
enabled: false
}

flowException {
enabled: true
enabled: false
exempt: []
}

0 comments on commit a0543e9

Please sign in to comment.