0.11.2
Highlights
- Unicode-preserving mutators
- Reworked Tui (GSoC project by @ToSeven)
- Scalability introspector
- Larger
libafl_frida
rework, replaced capstone with yaxpeax in many places - Extended
libafl_qemu
features, added CmpLog and more
What's Changed
- bolts write_minibsod solaris version. by @devnexen in #1494
- Add embed-runtime feature by @novafacing in #1489
- implement the AFL-Style Tui by @ToSeven in #1432
- reduce memory usage of the
construct_automata
script by @lenawanel in #1481 - add the metrics(pending,pend_fav, own_finds,imported) by @ToSeven in #1351
- remove
libafl/src/feedbacks/owned.rs
by @lenawanel in #1508 - Add an example fuzzer with AFL-Style UI by @ToSeven in #1501
- Apparently
cargo:error
does nothing by @elnardu in #1517 - Rework Frida instrumentation to decouple it from FuzzerOptions and add FridaInstrumentationHelperBuilder by @fabianfreyer in #1523
- Remove check and error when both fuzz_time and iters passed by @beyretb in #1531
- feat(frida): Allow setting path for DrCovRuntime by @fabianfreyer in #1536
- Change profiles for the fuzzbench fuzzers. by @tokatoka in #1546
- Some AFL UI example fuzzer cleanup by @domenukk in #1529
- Don't send unstable entries if there's nothing by @tokatoka in #1552
- libafl_ar: add extensions by @s1341 in #1568
- windows: Support
LIBAFL_DEBUG_OUTPUT
by @s1341 in #1569 - Qemu features3 by @WorksButNotTested in #1538
- frida-asan: move to mmap-rs by @s1341 in #1570
- Write coverage for QEMU into separate files by @WorksButNotTested in #1571
- Added qemu_cmin by @WorksButNotTested in #1572
- Make fuzzbench debugging easier by @tokatoka in #1574
- Use /dev/urandom for probing the valid memory by @tokatoka in #1586
- libafl_libfuzzer: documentation and build script by @addisoncrump in #1596
- Make Signals compatible with nix, implement TryFrom<&str> by @domenukk in #1599
- Add OptionalStage by @domenukk in #1600
- chore(drcov_rt): remove unused a field and methods by @saruman9 in #1601
- added ninja-build and python3-venv as dependencies by @cube0x8 in #1604
- Call the original QEMU user crash handler in libafl_qemu by @andreafioraldi in #1575
- Add executions count at proper places by @tokatoka in #1608
- Fuzz_loop should not return CorpusId by @domenukk in #1606
- Refactor cmplog observers by @tokatoka in #1603
- Document how to use cpp() and optimize() by @tokatoka in #1615
- New logo in the book by @andreafioraldi in #1618
- Autodetect llvm-config for QEMU bindings generation by @andreafioraldi in #1610
- Break on timeout in QEMU system mode by @andreafioraldi in #1619
- Add iter() to owned slice by @andreafioraldi in #1620
- Rename option name by @tokatoka in #1623
- Add SplitBorrow trait to split borrow tuple_list elements by @andreafioraldi in #1624
- Rename more options by @tokatoka in #1626
- Update llvm ver in Dockerfile by @tokatoka in #1629
- CmpLog {Instruction, Switches} pass by @tokatoka in #1612
- updated rust container image + default nightly by @cube0x8 in #1631
- Update LibAFL concolic by @tokatoka in #1634
- QEMU Asan backtrace and report by @andreafioraldi in #1628
- [WithObservers] Call the wrapped observer's post run function by @anneborcherding in #1640
- Add post_run for shadow executor by @tokatoka in #1641
- bolts: beginning of haiku support. by @devnexen in #1643
- Improve the libafl_libfuzzer corpus by @addisoncrump in #1539
- bolts haiku, addressing clippy warnings by @devnexen in #1647
- Add Android Ashmem stub header to libafl_targets forkserver.c by @domenukk in #1648
- Allow MinimizerScheduler to not cleanup the metadata after use by @beyretb in #1658
- Remove debug log by @beyretb in #1659
- Allow compiling 32bit by @s1341 in #1666
- Support precompiled headers in clang/ar wrappers by @s1341 in #1668
- refactor: Remove unnecessary Debug trait bounds by @mlgiraud in #1667
- Avoid lagged receiver in TCP manager by @andreafioraldi in #1672
- Add CmpLog routines to LibAFL QEMU and various fixes by @andreafioraldi in #1664
- Update libfuzer libpng launcher to use compound configurations by @s1341 in #1676
- bolts for haiku update. by @devnexen in #1673
- Add whole-archive feature to libafl_targets by @addisoncrump in #1544
- libafl_libfuzzer: rename all symbols by @addisoncrump in #1565
- Unicode-preserving mutators by @addisoncrump in #1542
- Add arg for profile in libafl_libfuzzer build.sh by @addisoncrump in #1680
- Scalability introspector + State refactor by @tokatoka in #1674
- scalability monitor 2nd by @tokatoka in #1685
- Monitor refactor + add aggregator by @tokatoka in #1671
- QEMU Synchronous Exit + Syx Snapshot update by @rmalmain in #1681
- Refactor QEMU hooks by @andreafioraldi in #1690
- Update qemu-libafl-bridge by @rmalmain in #1697
- bolts: support dump_registers for x86 linux by @Mrmaxmeier in #1694
- JIT fast path for edge cov hooks in libafl_qemu by @andreafioraldi in #1696
- Add Features for C Targets by @novafacing in #1663
- libafl_cc custom llvm_config lookup for solaris/illumos by @devnexen in #1708
- libafl: forkserver in persistent mode bug by @tbethe in #1715
- Adding support for shutdown upon Ctrl+C on Windows for LLMP by @mkravchik in #1704
- Add Resource by Jordan Whitehead by @tokatoka in #1718
- Make inner value of llmp Flags pub by @G33KatWork in #1725
- Remove capstone from frida [x86_64] by @tokatoka in #1720
- Remove capstone from frida [aarch64] by @mineo333 in #1723
- Last cleanup after decapstone by @tokatoka in #1727
- use yaxpeax-x86 version from crates.io instead of direct git dep by @iximeow in #1733
- Add file descriptor logger by @domenukk in #1742
FIxes
- ForkserverExecutor: stop forked children on exit by @domenukk in #1493
- bolts linux arm64 clippy fix build. by @devnexen in #1496
- bolts core affinity illumos clippy fixes. by @devnexen in #1497
- Fixed libafl_atheris Makefile and reading of input flag by @eceo902 in #1499
- Fix memopidx bug in libafl_qemu r/w hooks and update QEMU by @andreafioraldi in #1500
- openbsd (snapshot) bolts clippy fix by @devnexen in #1502
- Fix missing usage of saved_tree in AsanGiovese by @andreafioraldi in #1506
- Fix linkage on arm macs when building libafl_targets by @addisoncrump in #1503
- Ignore TCP recv if failed by @andreafioraldi in #1519
- Metadata + infinite loop fix for TuneableMutationalStage by @addisoncrump in #1514
- fix(bolts/unix_signals): unaligned ucontexts by @fabianfreyer in #1520
- Fix forkserver child kill, add kill_signal support by @domenukk in #1521
- libafl_libfuzzer fixes for port and fd allocation by @addisoncrump in #1525
- Fix unsoundness for misaligned map observers by @domenukk in #1530
- Fix llvm passes by @tokatoka in #1557
- Fix frida libafl after #1523 by @s1341 in #1560
- Fix TCP manager and restarts by @andreafioraldi in #1556
- fix(minibsod): allow
dump_registers
andwrite_crash
for Android x86_64 by @saruman9 in #1577 - fix(libafl_frida): enable asan for Android x86_64 by @saruman9 in #1578
- Fix bytesdelete mutator by @tokatoka in #1585
- Fix libjpeg fuzzer by @tokatoka in #1582
- fix(libafl_frida): correctly calculate the coverage using DrCov by @saruman9 in #1579
- cmplog routines upd & fix by @tokatoka in #1592
- Fix redundant area_is_valid() by @tokatoka in #1594
- libafl_cc: fix configuration support by @s1341 in #1595
- Fix typo in SimpleStdoutLogger comment. by @beyretb in #1627
- fix: use correct trait bound in WithObservers Executor by @anneborcherding in #1633
- Fix typos and crates names formatting in crates.md by @AzimMuradov in #1639
- Fix rare precision issue with comparisons on cumulative distributions by @addisoncrump in #1532
- fix(drcov_rt): coverage files are overwritten if have the same names by @saruman9 in #1581
- Fix LLVM Pass by @tokatoka in #1654
- Fixed panic feature in baby_fuzzer example by @Nereuxofficial in #1656
- Fix stb image on windows by @tokatoka in #1657
- Fix SimpleRestartingMonitor after restart by @andreafioraldi in #1669
- Fix i386 QEMU read_function_argument() by @andreafioraldi in #1677
- Fix LLMP map reuse overflow for slow brokers by @s1341 in #1679
- Fix scheduled ci by @tokatoka in #1688
- bolts fix solarish cpu binding. seems PS_MYID to save one syscall was by @devnexen in #1699
- Fix libafl_qemu edge hooks src addr by @andreafioraldi in #1700
- Fix breakpoints in QEMU thumb mode on arm64 vCPUs by @andreafioraldi in #1701
- Fix QEMU userspace crash handler by @andreafioraldi in #1706
- Fix build for changed SIMD APIs in nighly by @tokatoka in #1709
- Better SigInt handler by @tokatoka in #1710
- fixup: don't download unicode categories data by @addisoncrump in #1732
- small fixes and enhancements by @vanhauser-thc in #1731
New Contributors
- @eceo902 made their first contribution in #1499
- @elnardu made their first contribution in #1517
- @beyretb made their first contribution in #1531
- @cube0x8 made their first contribution in #1604
- @anneborcherding made their first contribution in #1633
- @AzimMuradov made their first contribution in #1639
- @Nereuxofficial made their first contribution in #1656
- @mlgiraud made their first contribution in #1667
- @rmalmain made their first contribution in #1681
- @tbethe made their first contribution in #1715
- @mkravchik made their first contribution in #1704
- @G33KatWork made their first contribution in #1725
- @mineo333 made their first contribution in #1723
- @iximeow made their first contribution in #1733
Full Changelog: 0.11.1...0.11.2