
reset_timeout_detection() is already called at end of NEXT_PAYLOAD handler to properly re-init the timer on every new execution. Remove the additional call in synchronization_lock() which prevents proper timeout on targets that do a lot of hprintf(). Also remove extra call in synchronization_lock_timeout_found() which really just seems to be a duplicate with no observable effect. To reproduce, run a harness that uses hprintf() in infinite loop. It will take longer due to execute due to userland overhead but should eventually return with aux_buffer/runtime similar to configured timeout.
QEMU-NYX
This repository contains Nyx's fork of QEMU. To enable Hypervisor based snapshots, Intel-PT based tracing, and REDQUEEN style magic byte resolution, we made various extensions to QEMU. This includes the ability to quickly reset memory and devices, obtain precise disassembly of the code running (even when code is partially swapped out / unavailable) & Intel-PT decoding, instrument code running in the VM with breakpoint-based hooks as well as communicating with a fuzzing frontend (e.g. based on libnyx).
You can find more detailed information in our main repository.
Build
./compile_qemu_nyx.sh lto
Bug Reports and Contributions
If you found and fixed a bug on your own: We are very open to patches, please create a pull request!
License
This tool is provided under GPLv2 license.
Free Software Hell Yeah!
Proudly provided by: