30
Kod JavaScript dość często jest kompresowany w celu zmniejszenia jego rozmiaru a tym samym ilości danych wysyłanych do klienta czyli przeglądarki. Kod ten oprócz oczywistych zalet czyli zmniejszonego rozmiaru ma też poważną wadę - jest kompletnie nieczytelny dla człowieka. Wynika to z faktu, iż najczęściej posiada minimalną (potrzebną do poprawnego przetworzenia przez przeglądarkę) ilość białych znaków takich jak odstępy, znaki końca linii czy wcięcia czyli wszystkie te elementy, które czynią kod czytelnym. Często jest to zabieg celowy aby zaciemnić kod skutecznie utrudniając jego analizę bądź modyfikacje. Najczęściej jednak chodzi o zwykłe zmniejszenie rozmiaru.
Co więc zrobić aby przeanalizować skompresowany kod JS? Istnieje rozwiązanie stworzone przez polskiego programistę nazwane JsDecoder dostępne na stronie http://code.gosu.pl. Jest to skrypt napisany także w JS a jego działanie polega na odkompresowaniu kodu poprzez dodanie usuniętych podczas kompresji białych znaków czyli znaków odstępu, tabulacji i końca linii. Całość działa bez problemu także dla dużych skryptów (np. kod JS do map Google - efektem jest ponad 23 tyś. linii). Przykład wykorzystania znajduje się na tej stronie. Rozwiązanie oparte jest na zasadach Open Source i dostępne za darmo na stronie autora.