Zum Inhalt springen
Aback Tools Logo

JavaScript-Array-Ersetzungs-Resolver

Erkenne und löse verschleierte arraybasierte String-Ersetzungsmuster in JavaScript-Code auf. Unser Tool identifiziert String-Speicher-Arrays und ersetzt indexbasierte Zugriffsausdrücke durch ihre tatsächlichen Werte, wodurch verschleierter Code deutlich lesbarer wird.

JavaScript Array Replacements Resolver
Paste obfuscated JavaScript code that uses array-based string replacements and resolve array index accesses to their inline string values. Shows a complete mapping table of all replacements found.
When checked, the var/let/const declaration of resolved arrays is removed from output

Privacy Guarantee

All processing runs entirely in your browser. Your JavaScript code never leaves your device. No data is uploaded, stored, or tracked.

Warum unseren JavaScript-Array-Ersetzungs-Resolver nutzen?

  • Sofortige Auflösung von Array-Ersetzungen: unser JavaScript-Array-Ersetzungs-Resolver analysiert verschleierten Code sofort in deinem Browser. Erkenne arraybasierte String-Ersetzungsmuster, löse Index-Zugriffe zu Inline-Werten auf und bereinige die Ausgabe - alles ohne Wartezeit und ohne Serveraufrufe.
  • 100 % private Verarbeitung im Browser: dein verschleierter JavaScript-Code verlässt deinen Browser nie. Die gesamte Auflösung von Array-Ersetzungen erfolgt lokal mit JavaScript - keine Server-Uploads, keine Datenerfassung. Dein Code und sein Inhalt bleiben vollständig privat.
  • Keine Begrenzung der Codegröße: analysiere JavaScript-Code beliebiger Größe ohne Einschränkungen. Von kleinen verschleierten Schnipseln bis zu großen minifizierten Bundles verarbeitet unser Resolver jede Eingabegröße effizient.
  • 100 % kostenlos für immer: nutze unseren JavaScript-Array-Ersetzungs-Resolver völlig kostenlos und ohne Einschränkungen. Keine Registrierung, keine versteckten Gebühren, keine Premium-Tarife - nur unbegrenzte, kostenlose Deobfuscation, wann immer du sie brauchst.

Häufige Anwendungsfälle für den JavaScript-Array-Ersetzungs-Resolver

  • Reverse Engineering verschleierter Skripte: Sicherheitsforscher und Reverse Engineers können arraybasierte String-Ersetzungen in verschleiertem JavaScript schnell auflösen, wodurch der Code für weitere Analysen lesbarer und verständlicher wird.
  • Analyse von Malware- und Phishing-Skripten: analysiere bösartiges JavaScript, das arraybasierte String-Verschleierung nutzt, um Payloads, Befehlstrings und Ziel-URLs zu verbergen. Löse Array-Zugriffe auf, um verborgenen Inhalt sichtbar zu machen und das Verhalten der Malware zu verstehen.
  • Sicherheitsaudit & Code-Review: Sicherheitsauditoren können JS-Code während Penetrationstests und Schwachstellenbewertungen deobfuszieren. Die Auflösung von Array-Ersetzungen deckt verborgene Strings wie API-Endpunkte, Authentifizierungstoken und Backdoor-URLs auf.
  • CTF-Herausforderungen (Capture The Flag): CTF-Teilnehmer stoßen häufig auf JavaScript, das mit arraybasierten String-Ersetzungen verschleiert ist. Nutze dieses Tool, um String-Arrays schnell aufzulösen und dich auf die eigentliche Logik der Herausforderung statt auf die Deobfuscation zu konzentrieren.
  • Transparenz von Drittanbieter-Skripten: analysiere JavaScript-Widgets und SDKs von Drittanbietern, die arraybasierte Verschleierung nutzen, um zu verstehen, auf welche Daten sie zugreifen und welche Operationen sie auf deiner Website ausführen.
  • Verschleierungstechniken lernen: Studierende und Entwickler, die etwas über JavaScript-Verschleierung lernen, können mit diesem Tool visualisieren, wie gängige arraybasierte String-Ersetzungstechniken funktionieren, und die aufgelösten Werte im Kontext sehen.

Was ist arraybasierte String-Ersetzungs-Verschleierung?

Arraybasierte String-Ersetzung ist eine der häufigsten JavaScript-Verschleierungstechniken. Sie funktioniert, indem sie alle String-Literale (Funktionsnamen, Meldungen, URLs usw.) in einem oder mehreren durch numerische Schlüssel indizierten Arrays speichert. Die ursprünglichen Strings werden dann über Array-Index-Ausdrücke wie _0x1234[0] statt über die String-Literale selbst aufgerufen. Diese Technik macht es sowohl für statische Analysetools als auch für menschliche Leser viel schwerer zu verstehen, was der Code tut, da aussagekräftige Strings wie "https://api.example.com" zu kryptischen Ausdrücken wie _0xabcd[42] werden.

So funktioniert unser JavaScript-Array-Ersetzungs-Resolver

Unser Resolver nutzt einen dreistufigen Prozess, um arraybasierte String-Ersetzungen zu deobfuszieren:

  1. Array-Erkennung: durchsucht den Eingabecode nach Variablendeklarationen, die Arrays mit String-Werten enthalten (z. B. var _0x = ["Hello", "World"]). Identifiziert alle solchen String-Speicher-Arrays und deren Inhalte.
  2. Auflösung der Zugriffe: findet alle Ausdrücke, in denen auf diese Arrays über die Klammernotation zugegriffen wird (z. B. _0x[0]). Wertet den Indexausdruck zu einem numerischen Wert aus und schlägt den entsprechenden String aus dem Array nach. Unterstützt direkte Zahlen, Hex (0xFF), Binär (0b1010), Oktal (0o77) und einfache arithmetische Ausdrücke.
  3. Inline-Ersetzung: ersetzt jeden Array-Zugriffsausdruck durch das aufgelöste String-Literal und entfernt optional die ursprünglichen Array-Deklarationen aus der Ausgabe. Eine vollständige Zuordnungstabelle zeigt jede vorgenommene Ersetzung.

Arraybasierte Verschleierungsmuster erkennen

Arraybasierte String-Ersetzung ist leicht zu erkennen, wenn man weiß, worauf man achten muss. Häufige Indikatoren sind Variablendeklarationen mit Arrays scheinbar zufälliger Strings, häufige Klammer-Zugriffsmuster wie _0x1234[0] oder _0xabc["length"] und Variablennamen, die wie Hex-Zahlen aussehen (z. B. _0xabcd, _0x1234). Viele beliebte Obfuscatoren nutzen diese Technik, darunter javascript-obfuscator, JScrambler und verschiedene eigene Packer. Die Anzahl der Strings pro Array kann von einigen bis zu mehreren Hundert reichen und erstreckt sich oft über mehrere Arrays, um die Analyse zu erschweren.

Grenzen und bewährte Verfahren

Unser Resolver verarbeitet die gängigsten Array-Ersetzungsmuster, doch einige fortgeschrittene Obfuscatoren nutzen Techniken, die eine einfache Erkennung umgehen können. Dazu gehören das dynamische Aufbauen von Arrays zur Laufzeit, der Zugriff auf berechnete Eigenschaften mit komplexen Ausdrücken, das Aufteilen von Strings über mehrere Array-Einträge oder verschachtelte Funktionsaufrufe zur Verschleierung von Array-Zugriffen. Für beste Ergebnisse kombiniere dieses Tool mit anderen Deobfuscationstechniken wie Beautification, Analyse von Variablennamen und manueller Code-Inspektion. Überprüfe die aufgelöste Ausgabe immer in einer Sandbox-Umgebung, bevor du sie für Sicherheitsanalysen verwendest.

Häufig gestellte Fragen

Ein JavaScript-Array-Ersetzungs-Resolver erkennt und löst verschleierte arraybasierte String-Ersetzungsmuster auf, die von JS-Obfuscatoren häufig verwendet werden. Er identifiziert Arrays, die String-Werte speichern (wie var _0x1234 = ["Hello", "World"]), und ersetzt alle Array-Zugriffsausdrücke (wie _0x1234[0]) durch die tatsächlichen String-Werte ("Hello"). Dies ist ein zentraler Schritt beim Deobfuszieren von JavaScript-Code.

JavaScript-Obfuscatoren extrahieren häufig alle String-Literale aus deinem Code und speichern sie in einem oder mehreren Arrays (oft mit kurzen, bedeutungslosen Namen wie _0x, _0xabcd). Jeder String-Zugriff wird dann als Array-Index-Lookup umgeschrieben. Dadurch wird der Code extrem schwer lesbar, denn statt tatsächlicher String-Werte siehst du kryptische Array-Referenzen, die über den Code verstreut sind.

Nein. Das Auflösen der Array-Ersetzungen ändert nur, wie auf Strings zugegriffen wird - von indirekten Array-Lookups zu Inline-String-Literalen. Das tatsächliche Verhalten des Codes bleibt erhalten. Sobald alle Array-Zugriffe aufgelöst und die Deklarationsarrays entfernt sind, ist der resultierende Code funktional identisch, aber deutlich lesbarer.

Absolut. Die gesamte Verarbeitung erfolgt vollständig in deinem Browser mit JavaScript. Dein Code wird niemals auf einen Server hochgeladen, gespeichert oder übertragen. Dieses Tool arbeitet nach dem Laden vollständig offline, was es sicher macht, proprietären oder sensiblen JavaScript-Code zu analysieren.

Das Tool erkennt gängige Verschleierungsmuster, darunter: var/let/const-String-Arrays mit zitierten Werten, Array-Zugriff mit Hex-Index (wie _0x[0xff]), einfache arithmetische Indizes (wie _0x[5+3]) und Indexausdrücke mit Bitoperationen. Es verarbeitet außerdem mehrere String-Arrays in derselben Datei und entfernt die Deklarationsarrays nach der Auflösung für eine sauberere Ausgabe.

Verschleierung verwandelt lesbaren Code in eine schwer verständliche Form, während die Funktionalität erhalten bleibt. Deobfuscation ist der umgekehrte Prozess - sie stellt die Lesbarkeit wieder her, indem sie die Verschleierungstransformationen rückgängig macht. Die Auflösung von Array-Ersetzungen ist eine spezifische Deobfuscationstechnik, die die String-Extraktion und die arraybasierten Zugriffsmuster der Obfuscatoren rückgängig macht.

Ja. Sicherheitsforscher, Penetrationstester und Reverse Engineers nutzen Tools wie dieses, um verschleiertes JavaScript zu analysieren, das in Malware, Phishing-Seiten oder anderen verdächtigen Webinhalten vorkommt. Das Auflösen von Array-Ersetzungen ist oft der erste Schritt, um zu verstehen, was der verschleierte Code tatsächlich tut.

Dieses Tool verarbeitet das häufigste Muster, bei dem String-Arrays mit Literalwerten deklariert und über einfache Indizes aufgerufen werden. Sehr fortgeschrittene Obfuscatoren können zur Laufzeit erzeugte Arrays oder selbstmodifizierenden Code verwenden, der statisch nicht aufgelöst werden kann. Für die meisten Standard- und mittleren Obfuscatoren liefert dieses Tool hervorragende Ergebnisse.