JavaScript-deobfuscator
Plaats een fragment gemaskeerde JavaScript-code, bestaande uit hexadecimale strings, variabelnamen van één letter en een decoderingsloop op de bovenkant, en het hulpmiddel ontraagt de laagstructuur: verwijder ongebruikelijke tekens, integreer de zoekarray in de code, verander variabelnamen in leesbare plaatsers, vereenvoudig overbodige omhulsingen en verbeter het eindresultaat. Uitstekend geschikt voor het analyseren van verdachte codefragmenten die u van een pagina of een gekopieerde Pastebin-link hebt gehaald.
Hoe je JavaScript onverduisteren
-
1
Plak de gemaskeerde bron
Geminificeerd, gepakt of uitgevoerd met tools in het `javascript-obfuscator.io`-stijl.
-
2
Laat de parser het doorlopen.
Stringarrays worden gedecodeerd, numerieke sequenties worden geëvalueerd en onnodige codeafdelingen worden verwijderd.
-
3
Naam wijzigen
De variabelen met één letter `a`/`b`/`c` worden hernoemd tot `var1`, `var2`, enzovoort, leesbare plaatsnamen, niet per se zinvolle namen.
-
4
Verfraaien
Identificeer de tekst, voeg nieuwe regels toe en genereer code die je daadwerkelijk kunt lezen en analyseren.
Technieken waarmee de deobfuscator de versleuteling ontsleutelt
| Verduistering | Omkeer |
|---|---|
| Hex-geëncodeerde stringliteralen | Decodeer \x48\x69 terug naar "Hi" |
| Unicode-geëncodeerde identificatoren | \u006E\u0061\u006D\u0065 -> name |
| Stringarray + decoderfunctie | De array inlineen en de decoder op het moment van analyse oproepen |
| Numerieke constante vouwing | 0x1F3 + 5 -> 504 |
eval(...)-wrappers |
Verplaats de interne code naar het hoogste niveau |
| Vervorming van de controlestroom (toestandsmachine) | Identificeer de switch-case en reconstrueer de stroom |
| Ongebruikte code / nutteloze ternaire instructies | Verwijder takken die nooit worden uitgevoerd |
Stylnamen _0x1a2b3c() |
Vervang door oplopende namen var1, var2 |
Beperkingen: wat het hulpmiddel niet kan doen
- Oorspronkelijke variabelnamen herstellen. Nadat
userEmailis hernoemd tota, kan geen enkele tool deze naam meer terugraden. U krijgt een leesbare structuur, niet de oorspronkelijke betekenis. - Aangepaste virtualizers uitpakken. Zware commerciële obfuseringsprogramma's (zoals JScrambler en de bedrijfsversies van Obfuscator.io) gebruiken een zelfgemaakte virtuele machine die bytecode interpreteert. Om deze te ontwijken, is handmatige omgekeerde engineering vereist.
- Voer willekeurige code uit. De deobfuscator beoordeelt zuivere uitdrukkingen statisch; hij haalt geen externe bronnen op, maakt geen DOM-elementen en communiceert niet met het netwerk.
Typische toepassingsvoorbeelden
- Beveiligingsonderzoek: het analyseren van een verdachte script dat via een e-mail is ontvangen of wordt verstrekt door een gekompromitteerde CDN.
- Codearcheologie: het herstellen van legacy-code waarbij het enige overgebleven artefact een geminificeerd pakket is.
- Leren: begrijpen wat een tutorial-niveau van obfuscatie eigenlijk doet op de achtergrond.
Veiligheid en ethiek
Voer nooit onbetrouwbare JavaScript-code uit in een browsertab waarin je bent ingelogd bij belangrijke systemen: deze code kan cookies lezen, interne API's aanroepen en de systeemtoestand naar buiten lekken. De deobfuscator werkt rechtstreeks met de broncode als tekst; hij voert de code die u plakt niet uit.
U mag alleen code ontsleutelen die u hebt toestemming om te analyseren. Omgekeerde engineering van gelicentieerde software kan in uw rechtsgebied beperkt zijn.
Veelgestelde vragen
Nee. Zodra de obfuscator userEmail hernoemt tot _0x1a2b3c, verdwijnt de oorspronkelijke naam. De deobfuscator biedt leesbare plaatsnamen (var1, var2) en een correcte structuur, maar niet de oorspronkelijke semantische namen.
Nee. Het analyseert de code als een AST en toepast statische transformaties. Rein uitdrukkingen (zoals 0x1F3 + 5) worden samengevoegd, maar er wordt niets gedaan aan het netwerk, cookies of het DOM.
Ja, maar de uitvoer van de bundler wordt geminificeerd in plaats van opzettelijk verwarrend gemaakt; het resultaat is dus alleen nog mooier code met de herstelde module-wrappers. Bronkaarten, wanneer deze apart beschikbaar zijn, bieden veel betere namen.
Zware commerciële hulpmiddelen (zoals Enterprise JScrambler of zelfgemaakte virtuele machines) bevatten een bytecode-interpreter die niet te ontcijferen is met statische analyse. Het hulpmiddel verkrijgt wel het oppervlakkelijke deel van de code, maar de kernlogica blijft ondoorzichtig zonder manuele omkeeranalyse.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
E-mailvalidator
Valideer een e-mailadres: RFC 5322-syntaxcontrole, live MX-record-zoekopdracht, plus details over lokaal deel, domein en lengte. Er wordt geen e-mail verstuurd.
EditorConfig-generator
Genereer een .editorconfig-bestand met uw regels voor inspringstijl en -grootte, regeleinde, tekenset en witruimte voor consistente opmaak in alle IDE's en editors.
HTML-opmaker
Formatteer HTML lokaal in de browser met twee of vier spaties inspringing. HTML wordt niet geüpload of gevalideerd.
Tool beschikbaar in andere talen
- Déobfuscateur JavaScript [FR]
- JavaScript-deobfuscator [SV]
- เครื่องถอดรหัส JavaScript [TH]
- أداة إزالة التشفير في لغة جافا سكريبت (JavaScript Deobfuscator) [AR]
- Deobfuscator JavaScript [ID]
- Trình giải mã mã JavaScript (JavaScript Deobfuscator) [VI]
- 자바스크립트 디오프스버커 [KO]
- JavaScript-Deobfuscator [DE]
- Desofuscador de JavaScript [ES]
- Deobfuskator JavaScriptu [PL]
- JavaScriptデオブファスカータ [JA]
- Desofuscador de JavaScript [PT]
- JavaScript-деобфускатор [RU]
- JavaScript Deobfuscator [TR]
- JavaScript反混淆工具 [ZH]
- JavaScript Deobfuscator [EN]
- Deobfuscator JavaScript [IT]