Ga naar inhoud

JavaScript obfuscator

Zet JavaScript-broncode om in een hexadecimaal gecodeerd eval(unescape(...))-fragment dat code voor oppervlakkig kijken verbergt.

Invoer
Uitvoer

JavaScript obfuscator

Plak elke JavaScript-broncode en dit hulpmiddel herschrijft deze als één hexadecimaal ontsnapte string die zichzelf opnieuw samenstelt en uitvoert met eval(unescape('...')). Het is de klassieke "basisobfuscatie" truc: elk teken van uw code wordt een %XX sequentie (of %uXXXX voor tekens buiten de eerste 256 codepunten), dus de bron is niet op het eerste gezicht leesbaar — geen variabelenamen, geen stringliteralen, geen opmerkingen zichtbaar.

Standaard wordt de uitvoer ingepakt in een zelf-uitvoerende functie, (function(){eval(unescape('...'))})();, dus u kunt het resultaat rechtstreeks in een <script> tag of ander bestand zetten en het voert onmiddellijk uit — precies zoals het origineel. Schakel "Verpakken in zelf-uitvoerende functie" uit als u de blote eval(unescape('...')); statement wilt, bijvoorbeeld om in te sluiten in een functie die u al controleert.

Dit is obfuscatie, geen versleuteling of beveiliging: unescape() en eval() zijn zichtbaar in de uitvoer, en het decoderen van de hexstring terug naar bron is een eenregelige operatie voor iedereen die kijkt — een browserconsole doet dit zo snel als u het kunt plakken. Behandel dit als een manier om toevallig kopiëren af te schrikken of een fragment uit snelle view-source te houden, niet als een manier om geheimen, API-sleutels of iets dat echt vertrouwelijk moet blijven te beschermen.

Alles draait lokaal in uw browser. De code die u plakt, wordt nooit geüpload of ergens naartoe gestuurd, dus het is veilig om bedrijfseigen of niet-uitgebrachte scripts te obfusceren. De live teller onder de uitvoer toont hoeveel tekens ingingen, hoeveel uitgingen en hoeveel bytes hexadecimaal werden gecodeerd, dus u kunt de grootteverandering zien voordat u het resultaat kopieert of downloadt.

FAQ

Is dit echte beveiliging, of kan code worden de-obfusceerd?
Het is geen beveiliging. Iedereen kan unescape() op de string in de uitvoer uitvoeren en uw originele broncode in één stap terugkrijgen — dit verbergt alleen code voor oppervlakkig kijken, niet voor iemand die echt kijkt.
Gedraagt de obfusceerde code zich precies als het origineel?
Ja. eval(unescape('...')) reconstrueert en voert de exacte originele broncode uit, teken voor teken, inclusief spaties, regeleindes en stringinhoud.
Wat doet "Verpakken in zelf-uitvoerende functie"?
Het verpakt de eval(unescape('...')) aanroep in (function(){...})(); zodat het resultaat onmiddellijk als zelfstandige verklaring wordt uitgevoerd. Schakel het uit als u de eval(unescape('...'); aanroep in uw eigen functie of bereik wilt plaatsen.
Werkt het ook op geminificeerde code?
Ja. U kunt elke JavaScript-tekst obfusceren, geminificeerd of niet — het hulpmiddel behandelt de invoer als gewone tekst en codeert deze hexadecimaal teken voor teken, dus minificering eerst (met een CSS/JS-minifier) maakt alleen de gecodeerde uitvoer korter.
Wordt mijn broncode ergens geüpload?
Nee. De obfuscator draait volledig in uw browser — de code die u plakt, verlaat nooit uw apparaat.