Control Flow Flattening
controlFlowFlattening
يحوّل بنية الكود لإخفاء التدفق الأصلي للبرنامج، ويجعل التحليل اليدوي أصعب بكثير بتحويل الكود الخطي إلى آلة حالات تعتمد على عبارة switch.
قد يُبطئ هذا الخيار التنفيذ بشكل ملحوظ؛ فقِس أثره على الكود الخاص بك. استخدم controlFlowFlatteningThreshold لتحديد نسبة العُقد التي تُسطَّح؛ فالقيم الأقل تحافظ على قدر أكبر من الأداء.
يتكامل خيار Control Flow Flattening مع خيارات التشويش الأساسي الأخرى ومع تشويش VM. فعند تفعيل vmObfuscation يجري التحويل إلى الآلة الافتراضية أولًا، ثم يُطبَّق التسطيح على ما يتبقى من JavaScript، مثل الدوال التي لم تُختر للآلة الافتراضية؛ أما الكود المترجَم مسبقًا إلى بايت كود فلا يُسطَّح.
