Preskoči na sadržaj

JavaScript obfuskator

Pretvorite JavaScript izvorni kod u heksadecimalno kodirani eval(unescape(...)) isječak koji skriva kod od brzog pogleda.

Unos
Rezultat

JavaScript obfuskator

Zalijepite bilo koji JavaScript izvorni kod i ovaj alat će ga prepisati kao jedan heksadecimalno esklapiran niz koji se ponovno sastavlja i izvršava sa eval(unescape('...')). To je klasična trika "osnovne obfuskacije": svaki znak vašeg koda postaje %XX (ili %uXXXX za znakove izvan prvih 256 kod točaka) slijed postotnog escapa, tako da izvorni kod više nije čitljiv na prvi pogled — nema imena varijabli, nema stringova, nema vidljivih komentara.

Prema zadanom postavkama, izlaz je omotan u samoeizvodnu funkciju, (function(){eval(unescape('...'))})();, tako da rezultat možete direktno staviti u <script> oznaku ili drugu datoteku i izvršava se odmah, točno kao original. Isključite "Omoti u samoeizvodnu funkciju" ako želite samo eval(unescape('...')); izjavu umjesto toga, na primjer da je ugradite u funkciju koju već kontrolirate.

Ovo je obfuskacija, ne enkriptacija ili sigurnost: unescape() i eval() su vidljivi u izlazu, a dekodiranje hex niza natrag na izvorni kod je jednoredzna operacija za bilo koga koji gleda — konzola preglednika to radi čim brzo možete zalijepiti. Smatrajte to načinom da odvratite slučajno kopiranje ili držite isječak od brzog view-source pogleda, a ne kao način zaštite tajnih ključeva, API ključeva ili ičega što zaista treba ostati povjerljivo.

Sve se izvršava lokalno u vašem pregledniku. Kod koji zalijepite nikada nije preslikan ili poslan nigdje, tako da je sigurno obfuskirati vlasničke ili neobjavljene skripte. Broj ispod izlaza pokazuje koliko znakova je ušlo, koliko je izašlo i koliko bajtova je heksadecimalno kodirano, tako da vidite povećanje veličine prije nego što kopirate ili preuzmete rezultat.

FAQ

Je li ovo prava sigurnost ili se kod može de-obfuskirati?
Nije sigurnost. Bilo tko može pokrenuti unescape() na nizu unutar izlaza i dobiti svoj originalni izvorni kod u jednom koraku — ovo samo skriva kod od brzog pogleda, a ne od onoga koji se zaista gleda.
Će li se obfuskatizirani kod ponašati točno kao original?
Da. eval(unescape('...')) rekonstruira i izvršava točan originalni izvorni kod, znak po znak, uključujući razmake, zalome redaka i sadržaj stringova.
Što radi "Omoti u samoeizvodnu funkciju"?
Omota eval(unescape('...')) poziv u (function(){...})(); tako da se rezultat odmah izvršava kao samostalna izjava. Isključite ga ako želite staviti eval(unescape('...')); poziv unutar vlastite funkcije ili opsega.
Radi li i na minificiranome kodu?
Da. Možete obfuskirati bilo koji JavaScript tekst, minificiran ili ne — alat tretira ulaz kao obični tekst i heksadecimalno ga kodira znak po znak, tako da minificiranje prvo (sa CSS/JS minificatorom) samo čini kodirani izlaz kraćim.
Je li moj izvorni kod preslikan negdje?
Ne. Obfuskator se izvršava u potpunosti u vašem pregledniku — kod koji zalijepite nikada ne napušta vašu uređaj.