文档
/
基础混淆
/

Control Flow Flattening

Control Flow Flattening

controlFlowFlattening

转换代码结构以隐藏原始的程序流程。通过把线性代码转换为带 switch 语句的状态机,使人工分析变得困难得多。

JavaScript

此选项可能明显拖慢执行速度,请在您自己的代码上进行测量。使用 controlFlowFlatteningThreshold 设置被平坦化的节点比例;数值越低,保留的性能越多。

JavaScript

Control Flow Flattening 可以与其他基础选项以及 VM 混淆组合使用。启用 vmObfuscation 时,虚拟化先执行,随后 Control Flow Flattening 作用于剩余的 JavaScript,例如未被选入 VM 的函数;已编译为字节码的代码不会被平坦化。