Skip to content
 编辑

Strace

Strace

Syzkaller 可以配置为在 strace 下执行程序并捕获输出。

若将 strace_bin 设置为某个 strace 二进制文件,syzkaller 将自动使用该 strace 二进制文件运行所有成功获取的重现用例。

如何编译 strace 二进制文件

为避免因模糊测试所用内核镜像中的 libc 版本不匹配导致问题,建议将 strace 编译为静态链接二进制文件。

git clone https://github.com/strace/strace.git
cd strace
./bootstrap
./configure --enable-mpers=no LDFLAGS='-static -pthread'
make -j`nproc`

编译生成的二进制文件位于 src/strace 路径下。

syz-crush

可配置 syz-crush 在 strace 下运行关联的重现用例。具体操作时, 请确保 syz-manager 配置文件中已指定 strace_bin 参数,并在命令行参数中额外添加 -strace 参数。

syz-repro

若在 syz-repro 的参数后追加 -strace file-name.log,该工具将在 strace 下运行生成的重现用例(若成功生成),并保存其输出。