0

我试图了解代码检测在 LibFuzzer 中的工作原理。从文档中,我了解到我可以使用该选项选择不同类型的仪器-fsanitize-coverage

启动 fuzzer 时,该INFO部分指示使用了哪种仪器(此处为 8 位计数器)

...
INFO: Loaded 1 modules   (46994 inline 8-bit counters): 46994 [0x978cc0, 0x984452),
INFO: Loaded 1 PC tables (46994 PCs): 46994 [0x861098,0x9189b8)
...

它还提到了加载的 PC 表的数量和总 PC 数。PC但是,我在任何地方都没有找到在这种情况下意味着什么。到目前为止,我的猜测是它的意思是“程序计数器”或“路径覆盖”,但我还没有找到任何来源来确认它。

我的问题是:在使用 LibFuzzer 进行代码检测的情况下,“PC”是什么意思,是否有任何来源可以确认?

4

1 回答 1

0

在这种情况下,PC意味着Program Counter本博文中所述

为了记录覆盖率,函数 trace_pc 将记录程序计数器。有了这些信息,模糊器就知道在给定的输入值上遍历了哪些路径。每个 fuzzing 引擎都以不同的方式运行这个过程。

于 2021-06-24T13:17:26.890 回答