Skip to content

Conversation

rmalmain
Copy link
Member

  • 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.

@@ -41,7 +41,7 @@ fn main() -> Result<(), Box<dyn Error>> {
--exclude-features=prelude,python,sancov_pcguard_edges,arm,aarch64,i386,be,systemmode,whole_archive \
--no-dev-deps --exclude libafl_libfuzzer --exclude libafl_qemu --exclude libafl_qemu_sys --exclude libafl_asan_libc --print-command-list; ",
"DOCS_RS=1 cargo hack check -p libafl_qemu -p libafl_qemu_sys --each-feature --clean-per-run \
--exclude-features=prelude,python,sancov_pcguard_edges,arm,aarch64,i386,be,systemmode,whole_archive,slirp,intel_pt,intel_pt_export_raw \
--exclude-features=prelude,python,sancov_pcguard_edges,arm,aarch64,i386,be,systemmode,whole_archive,slirp,intel_pt,intel_pt_export_raw,nyx \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make this a (rust) list/slice of features that we then join in here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants