19 unstable releases (8 breaking)

new 0.14.1 Dec 2, 2024
0.14.0 Nov 13, 2024
0.13.2 Jul 31, 2024
0.11.2 Dec 21, 2023
0.6.1 Aug 23, 2021

#72 in Emulators

Download history 1/week @ 2024-08-17 4/week @ 2024-08-24 1/week @ 2024-08-31 21/week @ 2024-09-14 56/week @ 2024-09-21 7/week @ 2024-09-28 1/week @ 2024-10-05 4/week @ 2024-10-12 1/week @ 2024-10-19 7/week @ 2024-11-02 111/week @ 2024-11-09 23/week @ 2024-11-16 6/week @ 2024-11-23 143/week @ 2024-11-30

286 downloads per month
Used in libafl_sugar

MIT/Apache

4MB
97K SLoC

LibAFL QEMU

LibAFL QEMU is a fuzzing-oriented emulation library that wraps QEMU with a rich API in Rust.

It comes in two variants, usermode to fuzz Linux ELFs userspace binaries and systemmode, to fuzz arbitrary operating systems with QEMU TCG.

Cite

If you use LibAFL QEMU for your academic work, consider citing the follwing paper:

@InProceedings{libaflqemu:bar24,
  title        = {{LibAFL QEMU: A Library for Fuzzing-oriented Emulation}},
  author       = {Romain Malmain and Andrea Fioraldi and Aurélien Francillon},
  year         = {2024},
  series       = {BAR 24},
  month        = {March},
  booktitle    = {Workshop on Binary Analysis Research (colocated with NDSS Symposium)},
  location     = {San Diego (USA)},
  keywords     = {fuzzing, emulation},
}

lib.rs:

Welcome to LibAFL QEMU

Warning: The documentation is built by default for x86_64 in usermode. To access the documentation of other architectures or systemmode, the documentation must be rebuilt with the right features.

Dependencies

~46–76MB
~1.5M SLoC