fuzzuf-cc is a tool designed to instrument C and C++ programs for seamless integration with fuzzuf. Using features, you can easily customize program instrumentation to your exact needs.
For build instructions, please follow building.md.
fuzzuf-cc has two main executable files:
fuzzuf-ccfor compiling C programfuzzuf-c++for compiling C++ program
These executables can be used as drop-in replacements for clang and clang++. You can compile C program as follows:
fuzzuf-cc -o program program.cAlso, you can use the --features option to enable features. To compile with bb-id-assigner and bitmap-feedback features:
fuzzuf-cc --features bb-id-assigner,bitmap-feedback -o program program.cList of features and their descriptions can be found below. And consult the tutorial.md to learn about use with fuzzuf.
| Feature | Description | CLI Usage |
|---|---|---|
bb-id-assigner |
Assign IDs to the basic blocks of the program | CLI Usage |
bitmap-feedback |
Instrument the program for bitmap feedback | CLI Usage |
cfg-exporter |
Construct a Control Flow Graph of the program | CLI Usage |
forkserver |
Build the program as a forkserver | CLI Usage |
ijon-feedback |
Build the annotated program with IJON | CLI Usage |
fuzzuf-cc is licensed under the GNU Affero General Public License v3.0. Some codes originate from external projects are licensed under their own licenses. Please refer to LICENSE for details.
This project has received funding from the Acquisition, Technology & Logistics Agency (ATLA) under the Innovative Science and Technology Initiative for Security (JPJ004596).