针对控制流分析获取程序执行过程中的分支路径信息,引起路径信息泄露问题,提出能有效隐藏分支路径及其顺序的程序混淆算法。通过二态非透明谓词插入不相关分支路径和不相关结点,改变控制流中的单一结点形式,增加程序分支路径的控制流复杂度。将二态非透明谓词控制流平展化提高混淆强度,采用调度函数动态赋值算法对分支变量进行动态赋值,进一步隐藏分支路径顺序固定的控制流信息。实验结果表明,该算法能实现混淆程序的控制流逻辑关系,提高混淆强度,有效抵御程序的控制流分析。