<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>C/C++ on Testing Handbook</title><link>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/</link><description>Recent content in C/C++ on Testing Handbook</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/index.xml" rel="self" type="application/rss+xml"/><item><title>libFuzzer</title><link>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/libfuzzer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/libfuzzer/</guid><description>libFuzzer # libFuzzer is the clear and easy choice if you need to fuzz your C/C++ program, because it is part of the LLVM project and is available on most platforms. We recommend fuzzing on Linux if possible because it is the platform with the best support for libFuzzer (e.g., it is not preinstalled in XCode with macOS). Microsoft&amp;rsquo;s MSVC compiler has recently gained support for libFuzzer.
Note that libFuzzer has been in maintenance-only mode since late 2022, so no new features will be added.</description></item><item><title>AFL++</title><link>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/aflpp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/aflpp/</guid><description>AFL++ # The AFL++ fuzzer is a fork from the AFL fuzzer. It offers better fuzzing performance and more advanced features while still being a very stable alternative to libFuzzer. A major benefit over libFuzzer is that AFL++ has stable support for running fuzzing campaigns on multiple cores (see Multi-core fuzzing).
This section of the Testing Handbook is based on fuzzing binaries written in C/C++ on Ubuntu on x64_64. AFL++ supports different environments like macOS, but there are caveats.</description></item><item><title>LibAFL</title><link>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/libafl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://trailofbits.github.io/testing-handbook-preview/pr-preview/pr-128/docs/fuzzing/c-cpp/libafl/</guid><description>LibAFL # The LibAFL fuzzer implements features from AFL-based fuzzers like AFL++. Similarly to AFL++, LibAFL provides better fuzzing performance and more advanced features over libFuzzer. However, with LibAFL, all functionality is provided in a modular and customizable way—in fact, LibAFL is a library that can be used to implement custom fuzzers. Because LibAFL is a library, there is no single-line command to install LibAFL like there is with libFuzzer (apt install clang) and AFL++ (apt install afl++).</description></item></channel></rss>