30 Commits

Author SHA1 Message Date
Christian Holler (:decoder)
3a3107583b Upgrade various dependencies
This patch upgrades dependencies to resolve a build error with rustix
2023-04-26 19:42:09 +02:00
Sergej Schumilo
2da7f08b6e
Merge pull request #19 from schumilo/dev_aflpp
fix default config for Snapshot VMs (add serial device)
2023-04-16 05:06:25 +02:00
Sergej Schumilo
a3388e2be7 fix default behaviour for Snapshot VMs (add serial) 2023-04-16 05:04:53 +02:00
Sergej Schumilo
2822aa1b14
Merge pull request #18 from schumilo/dev_aflpp
Various changes to extend the libnyx API and allow more control over qemu-nyx runners
2023-04-14 04:24:23 +02:00
Sergej Schumilo
186ee5f857 add helper function to delete a workdir safely 2023-04-14 04:18:31 +02:00
Sergej Schumilo
a9efaee0db fix console in non-debug mode (set "-serial none") 2023-04-14 04:11:16 +02:00
Sergej Schumilo
1c1fdf5286 bump nix version 2023-04-13 06:01:52 +02:00
Sergej Schumilo
cab84b33ab update libnyx API
- various changes to the API (both Rust and FFI) to enable more
  control over the fuzzing process
- fixed and updated C-API sample (test.c)
2023-04-13 05:58:23 +02:00
Sergej Schumilo
e767dbb800 refactor the qemu runner code and add new features
- With this commit we delete both tons of duplicated as well as dead
  code. Additonally, we add new features such as hprintf FD redirection
  and fix the snapshot reuse option for Nyx kernel-type VMs.
2023-04-13 05:45:30 +02:00
Sergej Schumilo
7ab9346070 commit: remove deprecated fields from the config / add runtime options
- With this patch we remove some deprecated options from the
  config struct without introducing any breaking changes (yet). In
  further patches we might want to switch to an enirely new config
  struct to get rid of all technical debts and make the code more
  readable.

- Runtime options are configurable options that can be changed via the
  API before the fuzz runner is spawned. These options can not be set
  via a config file.
2023-04-13 05:35:40 +02:00
Sergej Schumilo
acaf7f6346
Merge pull request #11 from schumilo/main
fix bitmap_buffer() and bitmap_buffer_mut()
2022-04-12 15:00:37 +02:00
Sergej Schumilo
520079290b fix bitmap_buffer() and bitmap_buffer_mut()
return a slice with the actual bitmap
size instead the entire buffer (which has the size of the actual shared
mmap file)
2022-04-12 14:59:15 +02:00
Sergej Schumilo
70bf7ad8e0
Merge pull request #9 from acidghost/config-set-workdir
add `NyxConfig::set_workdir_path`
2022-04-12 10:41:13 +02:00
Sergej Schumilo
0761268962
Merge pull request #10 from schumilo/main
add set_input function
2022-04-12 10:34:36 +02:00
Sergej Schumilo
e099e4658c add set_input function 2022-04-12 10:33:21 +02:00
Andrea Jemmett
de3fdeae1a add NyxConfig::set_workdir_path 2022-04-09 08:16:16 +02:00
Sergej Schumilo
7788b934db
Merge pull request #8 from schumilo/main
fix protocol race condition
2022-04-08 09:51:35 +02:00
Sergej Schumilo
3cceb0caae fix protocol race condition
libnyx sends a ping packet twice during initialization which
can cause a synchronization problem with QEMU-Nyx
2022-04-08 09:49:58 +02:00
Sergej Schumilo
c4b71a05c0
Merge pull request #6 from schumilo/main
change licence from AGPL to GPLv2
2022-03-13 20:25:08 +01:00
Sergej Schumilo
1eef6e976b change licence from AGPL to GPLv2 2022-03-11 22:39:55 +01:00
Sergej Schumilo
8a77c71dc8
Merge pull request #5 from schumilo/main
add get_aux_string function
2022-03-04 05:32:12 +01:00
Sergej Schumilo
85d2f9b0f9 add get_aux_string function 2022-03-04 05:30:24 +01:00
Sergej Schumilo
2e45754e27 handle race condition
(in remove_unused_shm_work_dirs)
2022-01-21 20:26:47 +01:00
Sergej Schumilo
a5ae4c13e1 upgrade libnyx:
- add support for latest QEMU-Nyx backend
	- the size of all SHM buffers are now configurable
	- new aux buffer layout
	- remove dead code (fuzz runner)
	- running multiple instances in parallel works now
	- improved FFI API
	- new rust API
2022-01-21 04:06:17 +01:00
Sergej Schumilo
ecbcb2d723 build *.so file 2021-12-28 15:18:07 +01:00
Sergej Schumilo
a199ed31e7 add AFL++ support and other improvements 2021-12-18 15:10:39 +01:00
Sergej Schumilo
1927a0ab83 make size of primary CoW buffer configurable 2021-12-10 01:11:47 +01:00
Sergej Schumilo
4134f7d64b add config option to enable hypervisor-assisted write protection of the input buffer 2021-12-08 18:25:52 +01:00
Sergej Schumilo
e1126bf73b
Update README.md 2021-11-14 23:22:13 +01:00
Sergej Schumilo
34679b90dc Initial Release of Nyx
Co-authored-by: Cornelius Aschermann <cornelius@hexgolems.com>
2021-11-14 21:59:03 +01:00