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

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

Java und JavaScript sind unterschiedliche Programmiersprachen, die jeweils für verschiedene Anwendungsszenarien geeignet sind. Java wird für die Entwicklung gro?er Unternehmen und mobiler Anwendungen verwendet, w?hrend JavaScript haupts?chlich für die Entwicklung von Webseiten verwendet wird.

JavaScriptComents AreseessentialFormaintaining, Lesen und GuidingCodeexexecution.1) einzelne Linecommments Arequickickexplanationen.2) Multi-LindexplainComproxlogicorProvedetailedDocumentation.3) InlinecommentsclarifyspecificPartsosensofCode.BestPracticic

Die folgenden Punkte sollten bei der Verarbeitung von Daten und Zeiten in JavaScript festgestellt werden: 1. Es gibt viele M?glichkeiten, Datumsobjekte zu erstellen. Es wird empfohlen, ISO -Format -Zeichenfolgen zu verwenden, um die Kompatibilit?t sicherzustellen. 2. Die Zeitinformationen erhalten und festlegen k?nnen und setzen Sie Methoden fest, und beachten Sie, dass der Monat mit 0 beginnt. 3. Die manuell formatierende Daten sind Zeichenfolgen erforderlich, und auch Bibliotheken von Drittanbietern k?nnen verwendet werden. 4. Es wird empfohlen, Bibliotheken zu verwenden, die Zeitzonen wie Luxon unterstützen. Das Beherrschen dieser wichtigen Punkte kann h?ufige Fehler effektiv vermeiden.

PlatztagsattheBottomofabogpostorwebpageServeSpracticalPurposesforseo, Usexperience und design.1ithelpswithseobyallowingEnginestoaccessKeyword-relevantTagswithoutClutteringHemainContent.2.

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Ereigniserfassung und Blase sind zwei Phasen der Ereignisausbreitung in DOM. Die Erfassung erfolgt von der oberen Schicht bis zum Zielelement, und die Blase ist vom Zielelement bis zur oberen Schicht. 1. Die Ereigniserfassung wird implementiert, indem der UseCapture -Parameter von AddEventListener auf true festgelegt wird. 2. Ereignisblase ist das Standardverhalten, Uscapture ist auf false oder weggelassen. 3. Die Ereignisausbreitung kann verwendet werden, um die Ereignisausbreitung zu verhindern. 4. Event Bubbling unterstützt die Ereignisdelegation, um die Effizienz der dynamischen Inhaltsverarbeitung zu verbessern. 5. Capture kann verwendet werden, um Ereignisse im Voraus abzufangen, wie z. B. Protokollierung oder Fehlerverarbeitung. Das Verst?ndnis dieser beiden Phasen hilft dabei, das Timing und die Reaktion von JavaScript auf Benutzeroperationen genau zu steuern.

Java und JavaScript sind verschiedene Programmiersprachen. 1.Java ist eine statisch typisierte und kompilierte Sprache, die für Unternehmensanwendungen und gro?e Systeme geeignet ist. 2. JavaScript ist ein dynamischer Typ und eine interpretierte Sprache, die haupts?chlich für die Webinteraktion und die Front-End-Entwicklung verwendet wird.
