11# JavaObfuscator
22
3- Java bytecode obfuscator with multiple transformation techniques.
3+ Java obfuscator with Minecraft plugins supports.
4+ Based on [ ColonialObfuscator] ( https://github.com/ColonialBuilders/ColonialObfuscator )
45
56## Features
67
@@ -17,7 +18,7 @@ Java bytecode obfuscator with multiple transformation techniques.
1718./gradlew build
1819```
1920
20- The output JAR will be in ` build/libs/JavaObfuscator-1.0-SNAPSHOT.jar `
21+ The output JAR will be in ` build/libs `
2122
2223## Usage
2324
@@ -56,6 +57,72 @@ Custom name length:
5657java -jar JavaObfuscator.jar input.jar output.jar --names-length 60
5758```
5859
60+ ## Obfuscatio
61+ Before:
62+ ```
63+ public boolean returnTrue() {
64+ return true;
65+ }
66+
67+ public boolean returnFalse() {
68+ return false;
69+ }
70+
71+ public void testConditions(int n, int n2, int n3) {
72+ if (n == 200) {
73+ System.out.println("n is 200");
74+ }
75+ if (n2 == 500) {
76+ System.out.println("test2 is 500");
77+ }
78+ if (n3 != -1) {
79+ System.out.println("n2 is not -1");
80+ }
81+ }
82+ }
83+ ```
84+
85+ After:
86+ ```
87+ public class Test {
88+ static char[] кГБфбдГТЕжкД_ЭнЮгЧЙйАнЗроорцПРяЖФИНшйюЮмкЯУмЇиЙГИЖтЪА;
89+ static int хщЮрГЕІирІвряРауГфПИцШИиРвздЮЖщЭЯРряюКбИ;
90+
91+ public void testConditions(int n, int n2, int n3) {
92+ this.кГБфбдГТЕжкД_жЖЮШАкляіЙвВїиЩьЬюМШЧеФекаьхУтВмвщЩщювЫШ(
93+ 0x582A5BE7 ^ 0x582A508B,
94+ new Object[]{n, n2, n3}
95+ );
96+ }
97+
98+ private void кГБфбдГТЕжкД_ЧкязФвуТыжЦэфнХЗхЬчрЛТщптЩтюцКУниТЙРИЪГВ(int n, int n2, int n3) {
99+ if (n == (0x7361D762 ^ кГБфбдГТЕжкД_ещмСРУУалнГлВпоЫЬЭОХХоиуЫмєЇпкУцДоСзЕвСц(
100+ -1308310402, 399363459, -1429195483, -712292576))) {
101+ System.out.println(ЯУШЇюЙдыгЛшТпхеДчфЬкХйЕцюЩПкРБчГЖСэнІВжЙ(...));
102+ }
103+ if (n2 == (0x56F338AE ^ кГБфбдГТЕжкД_ещмСРУУалнГлВпоЫЬЭОХХоиуЫмєЇпкУцДоСзЕвСц(
104+ 174662077, -491941917, -674906218, -1928584349))) {
105+ System.out.println(ЯУШЇюЙдыгЛшТпхеДчфЬкХйЕцюЩПкРБчГЖСэнІВжЙ(...));
106+ }
107+ if (n3 != (0xC0A86905 ^ кГБфбдГТЕжкД_ещмСРУУалнГлВпоЫЬЭОХХоиуЫмєЇпкУцДоСзЕвСц(...))) {
108+ System.out.println(ЯУШЇюЙдыгЛшТпхеДчфЬкХйЕцюЩПкРБчГЖСэнІВжЙ(...));
109+ }
110+ }
111+
112+ public boolean returnTrue() {
113+ return (Boolean)this.кГБфбдГТЕжкД_жЖЮШАкляіЙвВїиЩьЬюМШЧеФекаьхУтВмвщЩщювЫШ(
114+ 0x289DDE0C ^ 0x289D9FD7, new Object[0]
115+ );
116+ }
117+
118+ public boolean returnFalse() {
119+ return (Boolean)this.кГБфбдГТЕжкД_жЖЮШАкляіЙвВїиЩьЬюМШЧеФекаьхУтВмвщЩщювЫШ(
120+ 0x3631CF9A ^ 0x3631D9A5, new Object[0]
121+ );
122+ }
123+ }
124+ ```
125+
59126## Requirements
60127
61128- Java 21 or higher
0 commit comments