Add libvharness and InputSetter. Set coverage map from inside the VM. Refactor commands. #3366
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
libvharness is a library to help making harnesses for libafl qemu more easily.
there is a new feature to optionally compile
nyx
command stuff, it should avoid the mess with having both libafl qemu commands and nyx commands altogether we've seen in previous issues.InputSetter
is just an abstraction of how the input should be set in qemu. before, it was implemented as part of the command manager, so code reuse was not really possible.SetMapCommand
is a new command used to define coverage maps (including cmplog maps) from inside a VM. the main use case is when this gets coupled with something like KCOV. it makes it easier / more efficient to get the correct coverage compared with manual address filtering. the current implementation of KCOV is not enough to get this command working correctly, there is a linux patch to apply I'll try to push soon.