Heim > Web-Frontend > js-Tutorial > JavaScript-Dekodierung: Ein Leitfaden zur Entschleierung

JavaScript-Dekodierung: Ein Leitfaden zur Entschleierung

Susan Sarandon
Freigeben: 2025-01-05 05:23:41
Original
707 Leute haben es durchsucht

Decoding JavaScript: A Guide to Deobfuscation

Eines der faszinierendsten Dinge, die Sie in Ihrer frühen Reise in die Webentwicklung lernen, ist, wie Sie eine Website replizieren, indem Sie einfach den Quellcode von der Seite mit den Entwicklertools kopieren. Viele Entwickler finden dies hilfreich, aber das ist bei den Entwicklern, die diese Websites erstellt haben, und den Websitebesitzern nicht der Fall.

Diese Websitebesitzer haben normalerweise Angst und Angst vor dem Diebstahl ihres clientseitigen Codes (HTML, CSS und JavaScript). Damit bleibt ihnen nur eine Option: nach Lösungen zu suchen, um unbefugtes Kopieren oder Missbrauch ihrer Quellcodes zu verhindern.

Eine Lösung, die den Anforderungen dieser Website-Besitzer gerecht wird, ist eine Technik namens JavaScript Obfuscation. Einfach ausgedrückt ist JavaScript-Verschleierung der Vorgang der Konvertierung von menschenlesbarem JavaScript-Code in ein komplexes Format, das für Menschen schwer zu verstehen ist.

Da eine Medaille zwei Seiten hat, gibt es auch zur JavaScript-Verschleierung ihr Gegenstück namens JavaScript-Deobfuscation. Anhand des Namens können Sie bereits erkennen, dass es sich dabei um das Gegenteil der JavaScript-Verschleierung handelt, indem ein bereits verschleierter JavaScript-Code in ein für Menschen lesbares Format konvertiert wird.

Hinweis: In den meisten Fällen führt die JavaScript-Deobfuscation einen verschleierten Code nicht in seine ursprüngliche Form zurück, obwohl Sie manchmal die ursprüngliche Form erhalten. Man kann mit Sicherheit sagen, dass Ihnen die JavaScript-Deobfuscation nicht den ursprünglichen JavaScript-Code verspricht, sondern einen Code, den Sie lesen und verstehen können.

Praktische Erklärung der JavaScript-Deobfuscation und -Obfuskation

Durch Üben lernen wir besser, also lassen Sie uns die praktische Seite aller theoretischen Erklärungen im einleitenden Teil dieses Leitfadens erkunden.

Um diese Techniken zu testen, benötigen Sie einen JavaScript-Code. Nachdem dies gesagt ist, erstellen wir einen einfachen JavaScript-Code, der eine Variable definiert und eine Zeichenfolge basierend auf der Anzahl der Ausführungen einer for-Schleife ausgibt.

const no_loop_cycle = 5

for (let i = 0; i < no_loop_cycle; i++) {
    console.log("String ", i)
}
Nach dem Login kopieren
Nach dem Login kopieren

Da Sie nun JavaScript-Code zum Testen haben, gehen Sie zum JavaScript Obfuscator Tool, einem kostenlosen Tool zum Verschleiern von JavaScript-Code.

Fügen Sie den Beispiel-JavaScript-Code in das Tool ein und klicken Sie auf die Schaltfläche „Verschleieren“.

Das erhalten Sie als Ausgabe:

function _0xb78f(_0x2224cc,_0x217706){const _0x44095f=_0x4409();return _0xb78f=function(_0xb78f5c,_0x2ff516){_0xb78f5c=_0xb78f5c-0xd3;let _0x60ee28=_0x44095f[_0xb78f5c];return _0x60ee28;},_0xb78f(_0x2224cc,_0x217706);}const _0x5f75f2=_0xb78f;(function(_0x2c5162,_0x14873c){const _0x4e4ef7=_0xb78f,_0x5a8a62=_0x2c5162();while(!![]){try{const _0x1b7f08=parseInt(_0x4e4ef7(0xdb))/0x1*(-parseInt(_0x4e4ef7(0xdc))/0x2)+parseInt(_0x4e4ef7(0xdd))/0x3+-parseInt(_0x4e4ef7(0xd9))/0x4*(parseInt(_0x4e4ef7(0xd4))/0x5)+-parseInt(_0x4e4ef7(0xde))/0x6+parseInt(_0x4e4ef7(0xd6))/0x7*(-parseInt(_0x4e4ef7(0xd3))/0x8)+parseInt(_0x4e4ef7(0xd5))/0x9+parseInt(_0x4e4ef7(0xd7))/0xa;if(_0x1b7f08===_0x14873c)break;else _0x5a8a62['push'](_0x5a8a62['shift']());}catch(_0x153236){_0x5a8a62['push'](_0x5a8a62['shift']());}}}(_0x4409,0x71eba));const no_loop_cycle=0x5;for(let i=0x0;i<no_loop_cycle;i++){console[_0x5f75f2(0xda)](_0x5f75f2(0xd8),i);}function _0x4409(){const _0x5189f4=['2031897OhIMeN','15423690UOVACr','String\x20','1326068tySTtA','log','1CErZVM','245842QiNqEk','1819539wUQmJB','4133556arqvkn','16ZAFmnL','10OzrKck','3358431pZHaXs'];_0x4409=function(){return _0x5189f4;};return _0x4409();}
Nach dem Login kopieren

Fügen Sie diesen verschleierten Code in Ihren Code-Editor ein und führen Sie ihn aus, um seine Richtigkeit zu überprüfen. Sie werden sehen, dass es die gleiche Ausgabe wie der Originalcode liefert.

Da Sie nun die JavaScript-Verschleierung in Aktion gesehen haben, wird es Ihnen genauso viel Freude bereiten, die JavaScript-Deobfuscation auszuprobieren. Kopieren Sie den obfuskierten Code oben und fügen Sie ihn in dieses kostenlose deobfuskierte Tool ein.

Wenn Sie dieses Deobfuscator-Tool verwenden, erhalten Sie den folgenden Code:

const no_loop_cycle = 5

for (let i = 0; i < no_loop_cycle; i++) {
    console.log("String ", i)
}
Nach dem Login kopieren
Nach dem Login kopieren

Der nach der Entschleierung zurückgegebene Code ähnelt dem ursprünglichen JavaScript-Code, weist jedoch nur einen kleinen Unterschied auf. Dies bestätigt, dass Sie normalerweise nicht den eigentlichen JavaScript-Code erhalten, sondern einen in einem lesbaren Format, das Sie verstehen können.

Warum ist die JavaScript-Deobfuscation wichtig?

Die meisten Websites verlassen sich stark auf die Einbettung ihrer Techniken zur Abschreckung nicht autorisierter Benutzer, hauptsächlich in den JavaScript-Code, da dieser für grundlegende Benutzerinteraktionen verantwortlich ist (die meisten Dinge, die eine Interaktion mit den Websites erfordern, werden mithilfe von JavaScript implementiert).

Bei den Techniken handelt es sich hauptsächlich um JavaScript-Verschleierungen, und hier kommt die JavaScript-Deobfuskation ins Spiel. Es hilft bei der Bewältigung solcher Vorkommnisse, insbesondere beim Web Scraping.

JavaScript-Deobfuscation trägt dazu bei, den Code besser lesbar zu machen, sodass Sie das Skript besser verstehen, Ihre Interaktionen simulieren und die erwarteten Daten richtig auswerten können.

Die JavaScript-Verschleierung bietet sogar weitere Anti-Scraping-Mechanismen, wie Anti-Bot-Sicherheiten, Cloudflare-Wartezimmer und eine Reihe von CAPTCHA-Rätseln. Trotz dieser Herausforderungen funktioniert die JavaScript-Deobfuscation immer noch, da sie dabei hilft, diese Herausforderungen zu umgehen und zurückzuentwickeln.

So funktioniert die JavaScript-Deobfuscation

JavaScript-Deobfuscation erfordert die folgenden Prozesse:

  1. JavaScript-Verschleierung erkennen: Um dies zu erkennen, müssen Sie einige Muster wie Variablenumbenennung, Kontrollflussminimierung, Hexadezimalwerte, codierte Zeichenfolgen usw. erkennen. Wenn Sie es weiter studieren, werden Sie weitere Muster entdecken.
  2. Zugriff auf den verschleierten Code: Nachdem Sie nun den verschleierten Code entdeckt haben, besteht der nächste Schritt darin, mit den Entwicklertools von Chrome auf den Code zuzugreifen, um eine bessere Analyse zu ermöglichen. Sie können die Datei auch speichern, nachdem Sie sie gefunden haben.
  3. Formatieren Sie den Code: Tools wie Prettier oder der JavaScript-Verschönerer können verschleierten Code formatieren.
  4. Führen Sie den Code aus, um zu überprüfen, ob er fehlerfrei ist.
  5. Schließlich wird die Funktionslogik (Code für die Generierung versteckter Inhalte oder die Token-Validierung) extrahiert.

Lösungen für die JavaScript-Deobfuscation

Die perfekte Lösung für die JavaScript-Deobfuscation ist eine Kombination aus Ihren Fähigkeiten zur Problemlösung, Ihrer Fähigkeit, Muster in einem verschleierten Code zu erkennen, und dem Einsatz technischer Tools.

Wenn Sie über die notwendigen Tools zum Formatieren Ihres Codes, Chrome DevTools zum Zugreifen auf und Analysieren von verschleiertem Code, externe Bibliotheken von Drittanbietern wie uglify-js zum Parsen und Minimieren des Codes sowie Debugging-Tools verfügen, können Sie jede JavaScript-Verschleierungsinstanz durchschauen .

Um die Sache zu beschleunigen, können Sie ein beliebiges JavaScript-Deobfuscator-Tool oder das in diesem Handbuch verwendete Tool verwenden.

Das obige ist der detaillierte Inhalt vonJavaScript-Dekodierung: Ein Leitfaden zur Entschleierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage