Dokumentation
/
Basis-Obfuskierung
/

Control Flow Flattening

Control Flow Flattening

controlFlowFlattening

Wandelt die Codestruktur um, damit der ursprüngliche Programmablauf verborgen bleibt. Linearer Code wird in eine Zustandsmaschine mit einer switch-Anweisung überführt, was die manuelle Analyse deutlich erschwert.

JavaScript

Diese Option kann die Ausführung spürbar verlangsamen; messen Sie das an Ihrem eigenen Code. Mit controlFlowFlatteningThreshold legen Sie den Anteil der Knoten fest, die abgeflacht werden; niedrigere Werte erhalten mehr Performance.

JavaScript

Control Flow Flattening lässt sich mit den übrigen Basisoptionen und mit der VM-Obfuskierung kombinieren. Ist vmObfuscation aktiviert, läuft zuerst die Virtualisierung, und Control Flow Flattening wird danach auf das verbleibende JavaScript angewendet, etwa auf Funktionen, die nicht für die VM ausgewählt wurden; bereits zu Bytecode kompilierter Code wird nicht abgeflacht.