Erste Schritte
Obfuscator.io verwandelt Ihren lesbaren Quellcode in eine geschützte Fassung, die sich nur schwer verstehen und zurückentwickeln lässt. Ideal, um proprietäre Algorithmen, Lizenzlogik und geschäftskritischen Code zu schützen.
Willkommen bei Obfuscator.io
Diese Anleitung führt Sie durch die Obfuskierung Ihrer ersten Datei, die Wahl einer Voreinstellung und den Aufbau des Optionsbereichs. Ausführlichere Informationen finden Sie in den Abschnitten VM-Obfuskierung, Basis-Obfuskierung und Best Practices.
Schnellstart
1. Fügen Sie Ihren Code ein
Geben Sie Ihren JavaScript-Code im linken Editorbereich ein. Sie können Code direkt einfügen oder für die Stapelverarbeitung die Datei-Upload-Funktion nutzen.
2. Wählen Sie eine Voreinstellung
Wählen Sie im Optionsbereich eine Voreinstellung aus der Auswahlliste. Beginnen Sie mit
Low Obfuscationfür minimale Änderungen oder mitMedium Obfuscationfür einen ausgewogenen Schutz. Die VM-Voreinstellungen bieten die höchste Sicherheit.3. Klicken Sie auf „Obfuskieren“
Klicken Sie auf die Schaltfläche „Obfuskieren“, um Ihren Code zu transformieren. Die geschützte Ausgabe erscheint im rechten Bereich.
4. Kopieren oder herunterladen
Nutzen Sie die Schaltfläche „Kopieren“ oder „Herunterladen“, um Ihren obfuskierten Code zu erhalten. Die Ausgabe ist einsatzbereit für die Produktion.
Codekompatibilität Wichtig
Die Obfuskierung (mit und ohne VM) transformiert Ihren Code auf eine Weise, die bestimmte JavaScript-Laufzeitverhalten beeinflusst. Ihr Code darf sich nicht auf die folgenden Eigenschaften verlassen:
function.toString()/class.toString()Die Obfuskierung verändert die Quellcode-Darstellung vollständig. Code, der Funktionsquelltext parst oder vergleicht, wird nicht mehr funktionieren.
function.name/class.nameFunktions- und Klassennamen werden in zufällige Bezeichner umbenannt. Code, der sich für Logging, Serialisierung oder Reflexion auf
.namestützt, erhält obfuskierte Namen.
// Before obfuscation
function calculatePrice() { return 100; }
console.log(calculatePrice.name); // "calculatePrice"
console.log(calculatePrice.toString()); // "function calculatePrice() { return 100; }"
// After obfuscation
console.log(calculatePrice.name); // "_0x1a2b3c" (random)
console.log(calculatePrice.toString()); // Completely transformed code
Basisoptionen
Konfigurieren Sie vor der Obfuskierung diese Basisoptionen passend zu Ihrer Zielumgebung.
Target target
Legt die Ausführungsumgebung für den obfuskierten Code fest:
browser(Standard) – normale Webseiten-Umgebung. Der Ausgabecode ist identisch mitnode, allerdings dürfen einige browserspezifische Optionen mit dem Targetnodenicht verwendet werden.browser-no-eval– wiebrowser, aber die Ausgabe verwendet keineval(). Nutzen Sie dies, wenn die Zielseite eine Content Security Policy hat, dieeval/unsafe-evalverbietet.node– Node.js-Umgebung. Browserspezifische Optionen sind deaktiviert (sie benötigenwindow/documentund wären in Node wirkungslos oder würden einen Fehler werfen). EinigevmSelfDefending-Abwehrmechanismen, die auf reine Browser-APIs angewiesen sind – Erkennung von Headless-Browsern, iframe-basierte Wiederherstellung eines sauberen Realms, Anti-Inspector- und DOM-Prüfungen –, werden für dieses Target nicht ausgegeben.service-worker– Service-Worker-Kontext. Keinwindow, keindocument, ein anderes globalesself.userscript– Sandbox eines Userscript-Managers (z. B. Tampermonkey). DievmSelfDefending-Abwehrmechanismen werden entsprechend angepasst. Erfordert Obfuscator v6.9.0+.bytenode– für Code, der mit bytenode zu.jsckompiliert wird. Erfordert Obfuscator v6.13.0+.
Strict Mode strictMode
Steuert, wie der Obfuscator mit dem JavaScript-Strict-Mode umgeht:
Auto(Standard) – erkennt den Strict Mode automatisch aus dem Code. Der Obfuscator analysiert Ihren Code auf"use strict"-DirektivenEnable– erzwingt die Behandlung des gesamten Codes als Strict Mode, unabhängig davon, ob"use strict"vorhanden istDisable– nur ausdrückliche"use strict"-Direktiven im Quellcode werden als Strict Mode behandelt
Voreinstellungen verstehen
Voreinstellungen sind vorkonfigurierte Optionskombinationen. Es gibt zwei getrennte Gruppen:
VM-Voreinstellungen Pro (Bytecode-Virtualisierung)
| Voreinstellung | Sicherheit | Performance | Funktionen |
|---|---|---|---|
VM Low | Gut | ~10x | Basis-VM, indirektes Dispatching |
VM Medium | Stark | ~12-15x | + Opcode-Shuffling, Codierung, Täuschkonstrukte |
VM High | Sehr stark | ~15-18x | + Toter Code, zustandsbehaftete Opcodes, Stack-Codierung |
VM Ultra High | Maximum | ~20x+ | + Obfuskierungsschichten ohne VM |
Die Performance-Angaben sind Durchschnittswerte – die tatsächliche Auswirkung hängt stark vom Code ab (rekursionslastiger Code oder Code in heißen Schleifen wird zum Beispiel spürbar langsamer).
Voreinstellungen ohne VM (Standard-Obfuskierung)
| Voreinstellung | Schutz | Performance | Funktionen |
|---|---|---|---|
Default | Basis | Minimal | String Array, Vereinfachung |
Low | Leicht | ~1.1x | + Self Defending, Konsole deaktivieren |
Medium | Mittel | ~1.5x | + Kontrollfluss, toter Code, base64 |
High | Stark | ~2x | + Debug Protection, rc4-Codierung |
Überblick über die Oberfläche
- Eingabe-Editor – fügen Sie Ihren JavaScript-Quellcode ein oder tippen Sie ihn. Ziehen Sie Dateien per Drag & Drop hinein oder nutzen Sie die Upload-Schaltfläche. HTML-Dateien mit eingebetteten Skripten werden ebenfalls unterstützt Pro.
- Ausgabebereich – zeigt das obfuskierte Ergebnis an. Nutzen Sie die Schaltflächen „Kopieren“ oder „Herunterladen“, um den geschützten Code zu erhalten.
- Auswahl der Voreinstellung – wählen Sie Voreinstellungen mit oder ohne VM. Die VM-Voreinstellungen sind oben gruppiert. Die Voreinstellung legt die Basisoptionen fest, die Sie anschließend anpassen können.
- Optionsbereich – hier stellen Sie die Obfuskierung fein ein. Klicken Sie auf das
?-Symbol neben einer Option, um deren Dokumentation zu sehen. - Schaltfläche „Obfuskieren“ – transformiert Ihren Code mit den gewählten Optionen. VM-Voreinstellungen werden serverseitig verarbeitet; Voreinstellungen ohne VM laufen in Ihrem Browser.
- Upload mehrerer Dateien Pro – verarbeiten Sie mehrere Dateien auf einmal und laden Sie sie als ZIP herunter.
- Verlaufsbereich Pro – greifen Sie auf Ihre früheren Obfuskierungen zu und stellen Sie Ein- und Ausgabe wieder her.
