iptr is a Rust project to interact with Intel PT traces, providing both low-level PT packet handling and high-level AFL++-compatible fuzzing bitmap construction.
This repository is organized in the following structure, please refer to individual documentations for more details.
-
Low-level Intel PT trace handling APIs.
-
Branch and basic block information in Intel PT trace. Also provides a powerful efficient AFL++-compatible fuzzing bitmap construction approach.
-
Extract necessary information from
perf.data. -
tools
Example tools of using this project. Useful tools including:
-
Decode and log details for Intel PT packets
-
Extract raw Intel PT trace from
perf.datafile. -
Decode the Intel PT trace in perf.data file with semantic validation.
-
Extract memory content in
perf.datafile into libxdc experiments format.
-