JavaScript-Dekodierung: Ein Leitfaden zur Entschleierung
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) }
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();}
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) }
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:
- 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.
- 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.
- Formatieren Sie den Code: Tools wie Prettier oder der JavaScript-Verschönerer können verschleierten Code formatieren.
- Führen Sie den Code aus, um zu überprüfen, ob er fehlerfrei ist.
- 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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.
