LibFuzzer 中的 PC 和 PC 表是什么
What are PCs and PC tables in LibFuzzer
我想了解代码检测在 LibFuzzer 中的工作原理。
从 documentation,我知道我可以使用选项 -fsanitize-coverage
.
选择不同类型的仪器
启动模糊器时,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”是什么意思,是否有任何来源可以证实它?
在此上下文中,PC
表示 Program Counter
,如 this blog post
中所述
In order to log coverage, the function trace_pc will log the program counter. With this information, the fuzzer knows, which paths are traversed on the given input values. Each fuzzing engine runs through this process differently.
我想了解代码检测在 LibFuzzer 中的工作原理。
从 documentation,我知道我可以使用选项 -fsanitize-coverage
.
启动模糊器时,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”是什么意思,是否有任何来源可以证实它?
在此上下文中,PC
表示 Program Counter
,如 this blog post
In order to log coverage, the function trace_pc will log the program counter. With this information, the fuzzer knows, which paths are traversed on the given input values. Each fuzzing engine runs through this process differently.