Ochrona i Licencjonowanie Oprogramowania
Kompresor Aplikacji i Binder DLL
Obfuskator dla Kodów Źródłowych Java
Obfuskator dla Źródeł Skryptów AutoIt
Obfuskator dla Kodu Assemblera
Silnik Szyfrowania Polimorficznego
Auto Clicker dla Social Media
Szyfrowanie Tekstów dla Programistów
Dekodowanie Dowodów Rejestracyjnych
Generuj Kody Radiowe i Zarabiaj
Generator Kodu Radia Renault i Dacia
Generator Kodu Do Radia Ford M Seria
Generator Kodu Do Radia Ford V Seria
Kalkulator Kodu PIN dla Ford TravelPilot
Generator Kodu Do Odblokowania Radia
Generator Kodu Odblokowującego Radio
Kalkulator do Radia Chrysler Panasonic TM9
Kod do radia Uconnect Harman Kardon
Generator Kodu Radioodtwarzaczy Visteon
Generator Kodu Radia DAIICHI MOPAR
Generator Kodu Radia Fiat Continental
Wygeneruj Kod Odblokowujący Eclipse ESN
Wygeneruj Kod Odblokowujący Radio
Kod PIN Immobilizatora ze Schowka
Generator Skrótu Kryptograficznego
Ukrywanie wiadomości w obrazkach
Konwerter czasu w formacie epoch
Odzyskanie hasła FTP
Kodek i dekoder konfiguracji
Dekodowanie haseł Gadu-Gadu
Reversing, Lokalizacja i Odzyskiwanie Źródeł
Projekty Reklam i Interfejsów Użytkownika
Inżynieria Wsteczna, Analiza Malware
Darmowe Kody Źródłowe
Portfolio Domen
Opinie o Produktach i Obsłudze Klienta
Informacje Kontaktowe
JObfuscator umożliwia obfuskację kodów źródłowych i algorytmów w Javie w celu ich ochrony przed inżynierią wsteczną, dekompilacją oraz kradzieżą technologii. JObfuscator był już użyty 24767 razy!
Bez kodu aktywacyjnego — JObfuscator obsłuży kody źródłowe nie większe niż 1500 znaków oraz jedyną działającą opcją będzie "Zmień nazwy zmiennych". Kup kod aktywacyjny, aby korzystać z obfuscatora bez jakichkolwiek ograniczeń.
@Obfuscate
System.out.println("1"); System.out.println("2"); System.out.println("3");
int JOWCN_FGIWJIGTWJ_JSDAO = 0; JOWCN_FGIWJIGTWJ_JSDAO = 1148643996; while (JOWCN_FGIWJIGTWJ_JSDAO != 1421874931) { switch(JOWCN_FGIWJIGTWJ_JSDAO) { case 797943348: System.out.println("3"); JOWCN_FGIWJIGTWJ_JSDAO += 623931583; break; case 1148643996: System.out.println("1"); JOWCN_FGIWJIGTWJ_JSDAO -= 911757835; break; case 236886161: System.out.println("2"); JOWCN_FGIWJIGTWJ_JSDAO -= -561057187; break; }
Przeczytaj co to ścieżka wykonywania kodu.
int myNum = 5; float myFloatNum = 5.99f; char myLetter = 'D'; boolean myBool = true; String myText = "Java Obfuscator";
int ap9axcpArl_nyapT__QpnQOl_ = 5; float var_3897 = 5.99f; char aAqktfgaaaqRjhiouqlSwoqgob = 'D'; boolean nVdbxytrOhipcleakh = true; String MUQJO_OGIEHC = "Java Obfuscator";
Wszystkie odwołania do przemianowanych zmiennych są automatycznie poprawiane.
public int calc(double numArray[]) {...}
public int SqcFsxe(double[] numArray) {...}
Wszystkie odwołania do przemianowanych metod są automatycznie poprawiane. Nazwa punktu wejściowego main() pozostaje niezmieniona. Nazwy metod oznaczone adnotacją @Override nie są zmieniane.
main()
@Override
public static int methodNum1(int param) {...} public static int methodNum2(int param) {...} public static int methodNum3(int param) {...}
public static int methodNum2(int param) {...} public static int methodNum3(int param) {...} public static int methodNum1(int param) {...}
Kolejnośc metod w kodzie źródłowym Java nie ma znaczenia.
integer
public static int method(int param) { int a = 1; int b = a + 2; int c = 0; if (b > 3) return c; return 4; }
public static int method(int param) { int a = (int) (681.57415 - Math.cbrt(315229127.95597)); int b = a + (int) (2.76739 - Math.acos(0.71973)); int c = (int) (-1.20690 + Math.tan(0.87887)); if (b > (int) (-1.85887 + Math.log10(72255.55488))) return c; return (int) Math.min(6525.74776, 4.00000); }
Wykorzystanych jest ponad 15 funkcji matematycznych z klasy java.lang.Math.*.
java.lang.Math.*
System.out.println("Java Obfuscator Online");
String var_127 = ""; int[] var_1774 = { 0xFB5F, 0xF9EF, 0xF89F, 0xF9EF, 0xFDFF, 0xFB0F, 0xF9DF, 0xF99F, 0xF8AF, 0xF8CF, 0xF9CF, 0xF9EF, 0xF8BF, 0xF90F, 0xF8DF, 0xFDFF, 0xFB0F, 0xF91F, 0xF93F, 0xF96F, 0xF91F, 0xF9AF }; for (int hGrz = 0, x = 0; hGrz < 22; hGrz++) { x = var_1774[hGrz]; x ^= 0xFFFF; x = ((x << 12) | ((x & 0xFFFF) >> 4)) & 0xFFFF; var_127 += (char) (x & 0xFFFF); } System.out.println(var_127);
Polimorficzne szyfrowanie ciągów tekstowych wykorzystuje silnik z naszego innego rozwiązania StringEncrypt.
public static int method(int param) { int[] IFNMDK = { 0, 3, 2, 4, 1 }; int a = IFNMDK[4]; int b = a + IFNMDK[2]; int c = IFNMDK[0]; if (b > IFNMDK[1]) return c; return IFNMDK[3]; }
To sprawia, że analiza jest trudniejsza, ponieważ wymaga wyszukiwania po indeksach w tabeli każdej wartości numerycznej. Jako dodatkowa obfuskacja, wygenerowane tablicy są losowo zadeklarowane jako tablice o typie double np. double[] IFNMDK = { 0.49128, 3.33891, 2.00013, 4.32255, 1.99981 };
double
double[] IFNMDK = { 0.49128, 3.33891, 2.00013, 4.32255, 1.99981 };
public static double method(double param) { double a = 1.1; double b = a + 2.2; double c = 0.0; if (b > 3.3) return c; return 4.4; }
public static double method(double param) { double[] xnn_dji_34 = { 0.0, 3.3, 2.2, 4.4, 1.1 }; double a = xnn_dji_34[4]; double b = a + xnn_dji_34[2]; double c = xnn_dji_34[0]; if (b > xnn_dji_34[1]) return c; return xnn_dji_34[3]; }
To sprawia, że analiza jest trudniejsza, ponieważ wymaga wyszukiwania po indeksach w tabeli każdej wartości numerycznej.
Tutaj znajdziesz kilka sposobów, dzięki którym możesz otrzymać kod aktywacyjny bez płacenia:
Napisz artykuł na blogu czy na stronie o JObfuscatorze ze zrzutami ekranu, przykładowymi kodami źródłowymi oraz odnośnikiem do strony produktu.
Wyślij Tweeta o JObfuscatorze do swoich fanów wraz z linkiem do strony produktu, użyj hasztagów #jobfuscator #java #obfuscator oraz #obfuscation.
#jobfuscator
#java
#obfuscator
#obfuscation
Zgłoś błąd i jeśli będę w stanie go potwierdzić, otrzymasz darmowy kod aktywacyjny w ramach podziękowanie.
Jeśli masz pomysł jak udoskonalić obecne metody obfuskacji lub wprowadzić nowe techniki, skontaktuj się ze mną przedstawiając wszelkie szczegóły.
Skorzytaj z formularza kontaktowego, aby ze mną porozmawiać.
Jeśli masz jakieś pytania dotyczące obfuskatora JObfuscator, masz jakieś uwagi, coś jest niejasne, napisz do mnie, chętnie odpowiem na każde Twoje pytanie.
Raz na jakiś czas rozsyłam darmowy newsletter zawierający:
Jeśli interesują Cię takie tematy jak zabezpieczenia oprogramowania, kryptografia czy inżynieria wsteczna — spróbuj!
* W każdej chwili możesz się wypisać