Skip to content

Commit 271613a

Browse files
committed
JObf -> Superblaubeere
1 parent a4df544 commit 271613a

File tree

6 files changed

+20
-15
lines changed

6 files changed

+20
-15
lines changed

commonerrors/AntiReleak.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
## InvokeDynamic Transformer
1+
## InvokeDynamic Obfuscation
22
This transformer was made to be a universal decryptor for all antireleak invokedynamics. This will only reverse the invokedynamics so you can reverse engineer the plugin, not remove all traces of your user id!

commonerrors/DashO.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
## String Encryption Transformer
1+
## String Encryption
22
If you get an error relating to SourceResult, it is because DashO's flow obfuscation was applied, which messes with the string decryptor. Run dasho.FlowObfuscationTransformer first, and you will able to decrypt all the strings.

commonerrors/Stringer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
## HideAccessObfuscation Transformer
1+
## HideAccess Obfuscation
22
If you see an error while running the transformer, it means that you did not remove the string encryption. Run stringer.StringEncryptionTransformer first and you will be able decrypt Stringer's hide access. Note that you need to add all libraries that are used by the JAR, otherwise you will not be able to decrypt the file!
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
## JObfTransformer (superblaubeere27's obfuscator)
2-
One issue with this obfuscator is that it may inject local variables into the code, which prevents the file from being completely deobfuscated. In that case, use general.LocalVariableRemover, write to file, and then run the deobfuscator on the output. If you are still having issues with some features not being deobfuscated, use DeadCodeRemover and then RedundantGotoRemover to get rid of the junk code that may be in the way. Note that there are some settings which you cannot configure in this transformer without forking this project.
1+
## Superblaubeere27's Obfuscator
2+
One issue with this obfuscator is that it may inject local variables into the code, which prevents the file from being completely deobfuscated. In that case, use general.LocalVariableRemover, write to file, and then run the deobfuscator on the output. If you are still having issues with some features not being deobfuscated, use DeadCodeRemover and then RedundantGotoRemover to get rid of the junk code that may be in the way.

commonerrors/Zelix.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## String Encryption
2+
The string encryption transformer supports ZKM 5-8. If the file was obfuscated using ZKM 9 and up, the strings will only be decrypted if the file lacks method parameter changes.
3+
4+
## Reference Obfuscation
5+
The reference obfuscation transformer supports both the non-invokedynamic and invokedynamic variants of the obfuscation, but only if method parameter changes aren't enabled. Note that you must use the string encryption transformer first if the decryptor methods are in a seperate class (or just always use string encryption transformer before this).

src/main/java/com/javadeobfuscator/deobfuscator/transformers/special/JObfTransformer.java renamed to src/main/java/com/javadeobfuscator/deobfuscator/transformers/special/SuperblaubeereTransformer.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import com.javadeobfuscator.deobfuscator.transformers.Transformer;
3636
import com.javadeobfuscator.deobfuscator.utils.Utils;
3737

38-
public class JObfTransformer extends Transformer<TransformerConfig>
38+
public class SuperblaubeereTransformer extends Transformer<TransformerConfig>
3939
{
4040
public static boolean FAST_INDY = true;
4141
public static boolean CLASS_ENCRYPTION = false;
@@ -96,7 +96,7 @@ public boolean canCheckEquality(JavaValue first, JavaValue second,
9696
}
9797
});
9898

99-
System.out.println("[Special] [JObfTransformer] Starting");
99+
System.out.println("[Special] [SuperblaubeereTransformer] Starting");
100100
AtomicInteger num = new AtomicInteger();
101101
AtomicInteger unpoolNum = new AtomicInteger();
102102
AtomicInteger unpoolString = new AtomicInteger();
@@ -565,7 +565,7 @@ else if(ain.getOpcode() == Opcodes.GETSTATIC && ((FieldInsnNode)ain).name.equals
565565
}
566566
}
567567
AtomicInteger decrypted = new AtomicInteger();
568-
//Warning: No checks will be done to verify if classloader is from JObf
568+
//Warning: No checks will be done to verify if classloader is from Superblaubeere obf
569569
if(CLASS_ENCRYPTION)
570570
{
571571
String[] lines = null;
@@ -638,14 +638,14 @@ else if(ain.getOpcode() == Opcodes.GETSTATIC && ((FieldInsnNode)ain).name.equals
638638
}
639639
}
640640
}
641-
System.out.println("[Special] [JObfTransformer] Removed " + num + " number obfuscation instructions");
642-
System.out.println("[Special] [JObfTransformer] Inlined " + unpoolNum + " numbers");
643-
System.out.println("[Special] [JObfTransformer] Unpooled " + unpoolString + " strings");
644-
System.out.println("[Special] [JObfTransformer] Inlined " + inlinedIfs + " if statements");
645-
System.out.println("[Special] [JObfTransformer] Removed " + indy + " invokedynamics");
641+
System.out.println("[Special] [SuperblaubeereTransformer] Removed " + num + " number obfuscation instructions");
642+
System.out.println("[Special] [SuperblaubeereTransformer] Inlined " + unpoolNum + " numbers");
643+
System.out.println("[Special] [SuperblaubeereTransformer] Unpooled " + unpoolString + " strings");
644+
System.out.println("[Special] [SuperblaubeereTransformer] Inlined " + inlinedIfs + " if statements");
645+
System.out.println("[Special] [SuperblaubeereTransformer] Removed " + indy + " invokedynamics");
646646
if(CLASS_ENCRYPTION)
647-
System.out.println("[Special] [JObfTransformer] Decrypted " + decrypted + " classes");
648-
System.out.println("[Special] [JObfTransformer] Done");
647+
System.out.println("[Special] [SuperblaubeereTransformer] Decrypted " + decrypted + " classes");
648+
System.out.println("[Special] [SuperblaubeereTransformer] Done");
649649
return num.get() > 0 || unpoolNum.get() > 0 || unpoolString.get() > 0 || inlinedIfs.get() > 0 || indy.get() > 0;
650650
}
651651

0 commit comments

Comments
 (0)