Przejdź do treści

Narzędzia CometWeb

Obfuskator JavaScript online — obfuskacja kodu JS

Obfuskacja JavaScriptu online · kod pozostaje lokalnie w przeglądarce

DarmoweBez zakładania konta
Uwaga

Obfuskacja może utrudnić przypadkowe kopiowanie i zwiększyć koszt analizy kodu. Wynik nadal trafia do przeglądarki i może być analizowany przez użytkownika. Nie chroni sekretów, nie zastępuje autoryzacji po stronie serwera i nie naprawia podatności.

Techniki

Te przekształcenia to heurystyki tekstowe, a nie parser JavaScriptu: wywołania console wewnątrz wyrażenia zostają zamienione na void 0, a cudzysłowy w komentarzach i literałach wyrażeń regularnych mogą zostać źle odczytane. Wynik może się sparsować, a mimo to zadziałać inaczej niż oryginał — przetestuj go przed wdrożeniem.

Przed pobraniem wyniku: nie umieszczaj w kliencie kluczy API, haseł ani tokenów. Autoryzacja i sekrety należą do backendu — obfuskacja ich nie chroni.

Chcesz zmniejszyć rozmiar kodu? Najpierw utrudnij szybki odczyt, potem ogranicz zbędne bajty.
Otwórz minifikator

Obfuskator JavaScript online zmienia wybrane wzorce kodu po stronie klienta lokalnie w przeglądarce, aby utrudnić szybki odczyt. To nie jest szyfrowanie i nie chroni sekretów, kluczy API ani autoryzacji serwerowej.

Czemu obfuskacja to nie szyfrowanie?

Obfuskacja kupuje czas, nie tajemnicę. Spowalnia pobieżny odczyt w DevTools, ale zdeterminowany czytelnik i tak odtworzy logikę — deobfuskatory są publiczne i darmowe.

Sensowne zastosowania: tarcie na logice biznesowej (algorytmy, ceny, kupony), utrudnienie scrapingu. Klucze API i tak powinny żyć po stronie serwera.

Złe zastosowania: ukrywanie złośliwego kodu, omijanie ad-blockerów, ukrywanie trackerów przed użytkownikiem.

Sprawdź zachowanie po przekształceniu

Zachowaj oryginalny plik i uruchom testy na wyniku. Sprawdź obsługę błędów, komunikaty konsoli i wywołania z innych skryptów. Samo wygenerowanie kodu nie potwierdza, że aplikacja działa tak jak wcześniej.

Techniki obfuskacji

MMangling
Zmiana nazw zmiennych i funkcji na nieczytelne (np. _0x4a2f). Najprostsza technika.
SString encoding
Stringi jako \x6a\x61\x6e (hex) lub Base64. Czytelnik nie widzi literalnych wartości.
DDead code injection
Dodanie nigdy nieuruchamianych fragmentów. Zwiększa rozmiar i utrudnia śledzenie flow.
CFControl flow flattening
Przekształca if/while w switch i tablicę stanów. Może spowolnić wykonanie.
To narzędzie łata jeden problem naraz

TLS, nagłówki, cookies i ekspozycja — z rozkładem wyniku i planem naprawy.