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
Webpack-configuratiegenerator
Maak een webpack.config.js voor webpack 5 vanuit een kort formulier: stel entry, uitvoermap en mode in en zet TypeScript, Babel, een CSS-loader, HtmlWebpackPlugin en een dev-server aan.
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
Tool beschikbaar in andere talen
- أداة إزالة التشفير في لغة جافا سكريبت (JavaScript Deobfuscator) [AR]
- Desofuscador de JavaScript [ES]
- 자바스크립트 디오프스버커 [KO]
- Déobfuscateur JavaScript [FR]
- Trình giải mã mã JavaScript (JavaScript Deobfuscator) [VI]
- เครื่องถอดรหัส JavaScript [TH]
- Deobfuskator JavaScriptu [PL]
- JavaScript-deobfuscator [SV]
- Desofuscador de JavaScript [PT]
- Deobfuscator JavaScript [ID]
- JavaScriptデオブファスカータ [JA]
- JavaScript-Deobfuscator [DE]
- JavaScript Deobfuscator [EN]
- Deobfuscator JavaScript [IT]
- JavaScript-деобфускатор [RU]
- JavaScript Deobfuscator [TR]
- JavaScript反混淆工具 [ZH]