Dokumentation
/

Erste Schritte

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 Obfuscation für minimale Änderungen oder mit Medium Obfuscation fü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.name

    Funktions- und Klassennamen werden in zufällige Bezeichner umbenannt. Code, der sich für Logging, Serialisierung oder Reflexion auf .name stü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 mit node, allerdings dürfen einige browserspezifische Optionen mit dem Target node nicht verwendet werden.
  • browser-no-eval – wie browser, aber die Ausgabe verwendet kein eval(). Nutzen Sie dies, wenn die Zielseite eine Content Security Policy hat, die eval/unsafe-eval verbietet.
  • node – Node.js-Umgebung. Browserspezifische Optionen sind deaktiviert (sie benötigen window/document und wären in Node wirkungslos oder würden einen Fehler werfen). Einige vmSelfDefending-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. Kein window, kein document, ein anderes globales self.
  • userscript – Sandbox eines Userscript-Managers (z. B. Tampermonkey). Die vmSelfDefending-Abwehrmechanismen werden entsprechend angepasst. Erfordert Obfuscator v6.9.0+.
  • bytenode – für Code, der mit bytenode zu .jsc kompiliert 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"-Direktiven
  • Enable – erzwingt die Behandlung des gesamten Codes als Strict Mode, unabhängig davon, ob "use strict" vorhanden ist
  • Disable – 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)

VoreinstellungSicherheitPerformanceFunktionen
VM LowGut~10xBasis-VM, indirektes Dispatching
VM MediumStark~12-15x+ Opcode-Shuffling, Codierung, Täuschkonstrukte
VM HighSehr stark~15-18x+ Toter Code, zustandsbehaftete Opcodes, Stack-Codierung
VM Ultra HighMaximum~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)

VoreinstellungSchutzPerformanceFunktionen
DefaultBasisMinimalString Array, Vereinfachung
LowLeicht~1.1x+ Self Defending, Konsole deaktivieren
MediumMittel~1.5x+ Kontrollfluss, toter Code, base64
HighStark~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.