Sări la conținut

Ofuscator JavaScript

Convertiți codul sursă JavaScript într-un fragment codificat în hexazecimal eval(unescape(...)) care ascunde codul dintr-o privire superficială.

Intrare
Ieșire

Ofuscator JavaScript

Lipește orice cod sursă JavaScript și acest instrument o rescrie ca un singur șir escape-at în hexazecimal care se reasamblez și se execută cu eval(unescape('...')). Este clasicul truc de "ofuscare de bază": fiecare caracter din codul tău devine o secvență %XX (sau %uXXXX pentru caractere în afara primilor 256 puncte de cod), deci sursa nu mai este lizibilă dintr-o privire — nici nume de variabile, nici șiruri literale, nici comentarii vizibile.

În mod implicit, ieșirea este încapsulată într-o funcție auto-executabilă, (function(){eval(unescape('...'))})();, deci poți plasa rezultatul direct într-o etichetă <script> sau alt fișier și se execută imediat, exact ca și originalul. Dezactivează "Încapsula în funcție auto-executabilă" dacă preferi doar declarația eval(unescape('...')); în schimb, de exemplu pentru a o încorpora în funcția pe care o controlezi deja.

Aceasta este ofuscare, nu criptare sau securitate: unescape() și eval() sunt vizibile în ieșire, iar decodificarea șirului hexazecimal înapoi la codul sursă este o operație de o linie pentru oricine se uită — o consolă a browserului o face la fel de repede cât poți lipi. Utilizează-o ca modalitate de a descuraja copierea accidentală sau a ține un fragment departe de o privire rapidă la sursă, nu ca modalitate de protejare a secretelor, cheilor API sau a oricărui lucru care trebuie să rămână confidențial.

Totul rulează local în browserul tău. Codul pe care îl lipești nu este niciodată încărcat sau trimis undeva, deci este sigur să ofuscezi scripturile proprietare sau nepublicate. Numărătorul activ sub ieșire arată câți caractere au intrat, câți au ieșit și câți octeți au fost codificați în hexazecimal, deci poți vedea creșterea dimensiunii înainte de a copia sau descărca rezultatul.

FAQ

Aceasta este securitate reală sau codul poate fi desofuscat?
Nu este securitate. Oricine poate executa unescape() pe șirul din interiorul ieșirii și obține codul sursă original într-un pas — aceasta ascunde doar codul dintr-o privire rapidă, nu de cineva care se uită cu adevărat.
Codul ofuscat se va comporta exact ca originalul?
Da. eval(unescape('...')) reconstruiește și execută exact codul sursă original, caracter după caracter, inclusiv spații, întreruperi de linie și conținut de șiruri.
Ce face "Încapsula în funcție auto-executabilă"?
Încapsulează apelul eval(unescape('...')) în (function(){...})(); deci rezultatul se execută imediat ca o declarație autonomă. Dezactivează-o dacă dorești să plasezi apelul eval(unescape('...')); în propria ta funcție sau scop.
Funcționează și pe cod minificat?
Da. Poți ofusca orice text JavaScript, minificat sau nu — instrumentul tratează intrarea ca text simplu și o codifică în hexazecimal caracter după caracter, deci minificarea mai întâi (cu un minificator CSS/JS) face doar ca ieșirea codificată să fie mai scurtă.
Codul sursă al tău este încărcat undeva?
Nu. Ofuscatorul rulează complet în browserul tău — codul pe care îl lipești nu lasă niciodată dispozitivul tău.