Greybox fuzzer for binary-only software, no source code needed
Top 91.4% on sourcepulse
PTfuzzer is a greybox fuzzer designed for binary-only fuzzing, addressing the limitations of source-code-dependent tools like AFL. It enables fuzzing of closed-source software by leveraging Intel Processor Trace (PT) for accurate and efficient branch coverage feedback, offering a faster alternative to software instrumentation-based methods.
How It Works
PTfuzzer utilizes Intel PT, a hardware feature, to collect precise runtime control flow information without requiring source code or binary instrumentation. This hardware-based feedback mechanism is significantly faster and less intrusive than software-based approaches, providing more accurate coverage data by tracing actual basic block transitions. The fuzzer decodes these PT packets to guide the fuzzing process, enabling effective exploration of program states.
Quick Start & Requirements
cmake
and make
after navigating to the ptfuzzer
directory.nopti
boot option), Intel CPU (i5/6/7-x000, x >= 5), libcapstone
, and python-cle
.ptfuzzer/afl-pt/doc/
.Highlighted Details
Maintenance & Community
No specific contributors, sponsorships, or community links (Discord/Slack) are mentioned in the README.
Licensing & Compatibility
The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.
Limitations & Caveats
The project reports several unsolved issues, including "No instrumentation detected," assertion failures, and potential crashes on the first seed. There is no support for several programs, and parallel PT decoding is a future enhancement.
6 years ago
Inactive