Strace
Syzkaller can be instructed to execute programs under strace and capture the output.
If the strace_bin
is set to an strace
binary, syzkaller will automatically
run each reproducer it managed to find under the strace
binary.
- If a syz-manager is attached to a
dashboard
, syzkaller will upload the resulting output as a normal log file if the generated reproducer still managed to produce the same crash. - Otherwise, the output of strace will be saved to a separate file and will be accessible through the syz-manager’s web interface.
How to compile the strace binary
It is safer to compile strace
as a statically linked binary in order to
prevent problems with mismatching libc versions on the kernel image used for
fuzzing.
git clone https://github.com/strace/strace.git
cd strace
./bootstrap
./configure --enable-mpers=no LDFLAGS='-static -pthread'
make -j`nproc`
The resulting binary can be found at src/strace
.
syz-crush
It’s possible to instruct syz-crush
to run the attached repro under strace. In
order to do so, make sure strace_bin
is specified in the syz-manager config
file and pass an extra -strace
argument to the command arguments.
syz-repro
If -strace file-name.log
is appended to the syz-repro
’s arguments, the tool
will run the resulting repro (if it managed to generate one) under strace and
save its output.
原文链接: https://github.com/google/syzkaller/blob/master/docs/strace.md
选题: jxlpzqc
本文将由 HCTT 翻译团队 原创翻译,华中科技大学开放原子开源俱乐部荣誉推出。