跳到主要内容
uencoder

Symbolic Execution

符号执行用符号变量代替具体值执行程序,分析所有可行路径,自动生成触发各路径的输入。

用途

精确分析程序行为,自动生成高覆盖率测试与漏洞触发输入。

机制

变量用符号表示,路径条件收集为约束。遇分支时 fork 路径并用 SMT 求解器检查可行性。路径爆炸是主要瓶颈。KLEE、angr 用于 C/二进制符号执行。

用例

  • 测试生成
  • 漏洞分析
  • 路径覆盖

参考链接