Dokumentation
/
VM-Obfuskierung
/

VM Debug Protection

VM Debug Protection

Pro

Ansehen

Obfuscator.io Advanced Defenses: Self-Defending, Debug Protection, Domain Lock

Auf YouTube ansehen

Die Option vmDebugProtection fügt der VM-Laufzeit Anti-Debugging-Maßnahmen hinzu und erschwert das Reverse Engineering Ihres geschützten Codes erheblich. Wie jede Erkennung reagiert, legen die Kategorien debugger, automation und sandbox von vmDefenseReaction fest.

Ist browserEnvironment.hosting auf 'remote' gesetzt (v7.14.1+), bindet Debug Protection den Build zusätzlich daran, von einem entfernten Host ausgeliefert zu werden: Eine Kopie, die von einem lokalen Entwicklungshost ausgeliefert wird, gilt als Abweichung der Laufzeitumgebung, und die Automatisierungsabwehr reagiert.

Diese Abwehrmaßnahmen wirken auch gegen Ihre eigenen Agenten, Automatisierungen und Debugger. Sie können die Ausführung stoppen, unzusammenhängende Fehler auslösen oder falsche Ergebnisse liefern. Verwenden Sie für Funktionstests einen separaten Test-Build; Tests und CI zeigt die Optionen, die dieser Build überschreibt.

Inspector-Erkennung

Ab Obfuscator 8.0.0 akzeptiert vmDebugProtection neben einem booleschen Wert auch ein Objekt. Mit einem Objekt bleibt Debug Protection aktiv, während ein einzelner Detektor gelockert wird:

JavaScript

inspectorDetection (standardmäßig aktiv) erkennt einen angehängten Inspector des Chrome DevTools Protocol oder einen aktiven Debugger und reagiert darauf. Das Öffnen der Entwicklertools des Browsers hängt eine solche Sitzung an, sodass ein geöffneter Inspector erkannt wird und eine Reaktion auslöst. Lassen Sie die Option für die Produktion aktiviert; schalten Sie sie nur aus, wenn Ihre Nutzer legitimerweise die Entwicklertools öffnen. Im Dashboard ist das der Unterschalter Inspector Detection unter VM Debug Protection (v8.0.0+), der erscheint, sobald Debug Protection aktiviert ist.

Automatisierungsframeworks. Ist inspectorDetection aktiv (Standard), wird die Steuerung der geschützten Seite mit einem CDP-basierten Werkzeug (Puppeteer, Playwright, Selenium/ChromeDriver) als angehängter Inspector erkannt. vmDebugProtection: { inspectorDetection: false } schaltet nur den Inspector-Detektor aus; der Automatisierungsdetektor von Debug Protection kann weiterhin auf einen ferngesteuerten Browser reagieren. Für Builds für automatisierte Tests folgen Sie Tests und CI, wo vmDebugProtection und vmSelfDefending deaktiviert werden.

Content Security Policy

Wenn Ihre Content Security Policy dynamische Auswertung verbietet (kein unsafe-eval), verwenden Sie das Target browser-no-eval und validieren Sie die Ausgabe unter dieser Richtlinie. Dieses Target nutzt einen Fallback für Prüfungen, die sonst auf dynamische Auswertung angewiesen sind. Dasselbe gilt für Browsererweiterungen mit restriktiver CSP: Verwenden Sie browser-no-eval für die beste Kompatibilität.