Evan Richter
9f76386668
[libafl_qemu] prevent unneeded build.rs runs ( #441 )
...
`libqasan/libqasan.so` never exists during a normal `cargo build` because the .so is built in the target_dir, not in the source directory. This was triggering cargo to rerun the build script every time a user of this library made an incremental change to their code.
pointing `rerun-if-changed` to a directory will make cargo rerun build.rs if any file in that directory changes.
2022-01-02 01:03:35 +01:00
Evan Richter
e47c3be3fd
[libafl_qemu] fix build.rs ( #435 )
...
I noticed qemu was only building on one core, so I debugged the jobs environment variable. Evidently cargo passes `CARGO_BUILD_JOBS` is passed to build.rs scripts as `NUM_JOBS`. Other env vars for build.rs can be found [here](https://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts )
2021-12-29 01:30:14 +01:00
Andrea Fioraldi
6274ad4594
Refactor libafl_qemu creating the Emulator struct and post syscall hooks ( #430 )
...
* working without asan.rs
* working asan
* update fuzzers
* mremap in snapshot
* sugar
* python
* fix python
* clippy
* fmt
* fuck you loader
2021-12-23 09:10:13 +01:00
Andrea Fioraldi
785cddc1f0
Fix meson.build issue updating QEMU git hash
2021-12-21 12:42:41 +01:00
Andrea Fioraldi
208d69342d
Update QEMU git hash
2021-12-21 11:35:06 +01:00
Andrea Fioraldi
7c7c7e679f
Merge branch 'main' of github.com:AFLplusplus/LibAFL into main
2021-12-08 16:32:36 +01:00
Andrea Fioraldi
5af2b4580e
Update pyo3 to 0.15
2021-12-08 16:32:32 +01:00
Dominik Maier
83583a867f
QEMU target arch selector via feature flag ( #405 )
...
* QEMU target arch selector via feature flag
* fix ci
* fixing ci some mmore
* more ci fixes, defaulting to x86_64 always
* more ci
* i368 -> i386 typo fix
* revert forkserver changes
* trying to fix clippy
* docs
* fixed warnings
* more clippy action
* qemu example arch
* bring back deprecated function I don't know how to replace
* get rid of deprecated feature again'
* builds?i
2021-12-06 20:06:47 +01:00
Andrea Fioraldi
c3ea7a042c
Update QEMU bridge revision hash
2021-12-06 10:04:59 +01:00
Andrea Fioraldi
37b8cb0d2f
Bump to 0.7
2021-12-01 17:22:09 +01:00
Andrea Fioraldi
3ccf884d86
Hook cmp on arm/aarch64 in libafl_qemu
2021-11-19 14:37:59 +01:00
Andrea Fioraldi
d2fbc1040e
Qemu fixes and syscalls for every supported arch ( #386 )
...
* cpu_target
* report
* track mmap in x64 snapshots
* fixes in libafl_qemu and qemu bridge
* clippy
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-18 09:33:26 +01:00
Dominik Maier
ba969108e3
Push stage trait ( #380 )
...
* rpush mutational trait
* tiny changes
* started PushStageAdapter
* fmt
* refactoring
* fix docs
* no_std
* formatted more
2021-11-17 12:51:14 +01:00
Andrea Fioraldi
fd5e793e57
libafl_qemu cpu_target cfg ( #383 )
...
* cpu_target
* report
* track mmap in x64 snapshots
2021-11-17 12:50:10 +01:00
Dominik Maier
4d24012245
Clippy fixes ( #385 )
...
* clippy fixes
* added missing use, switched to hashbrown
* fix
* more clippy
2021-11-17 12:49:58 +01:00
Andrea Fioraldi
00d38dc535
AddressSanitizer for libafl_qemu ( #378 )
...
* build libqasan
* asan runtime
* working simple asan
* init_with_asan
* fmt
* incomplete instr filter
* harden dealloc
* clippy
2021-11-16 13:53:28 +01:00
Andrea Fioraldi
87677be11d
Update QEMU commit in libafl_qemu
2021-11-15 14:10:29 +01:00
Dominik Maier
62afed61e2
Renamed Stats to Monitors ( #373 )
...
* renamed stats to monitors
* added depreciation notices
* resorted generics alphaabetically
* added monitors
* fmt fuzzers
* added depreciation note for usermonitor
* fmt all fuzzers script
* more fmt
* renamed some monitor things back to stats
* fixed rename
2021-11-12 11:01:08 +01:00
Dominik Maier
fff7cbd90f
implemented MapMaxPow2Feedback ( #371 )
...
* implemented MapMaxPow2Feedback
* using num-traits for qemu as well
* moved back to Num for float fun
* OneOrFilled Feedback
2021-11-11 01:49:46 +01:00
Andrea Fioraldi
b4e15fe9f3
Bridge grammartec from Nautilus to libafl ( #342 )
...
* nautilus dep
* nautilus generation
* fix mutator
* start new mutator for nautilus
* other mutators
* baby
* ci
* NautilusFeedback
* fix unparse
* ci
* ci
* ci
* ci
* nigghtly clippy
* ci
* fix
* ci
* ci
* update construct automatata
* fix
* ci
* clippy
* clippy
* nightly clippy
* more clippy
* minor clippy
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-06 02:21:53 +01:00
Andrea Fioraldi
28c5e59fb2
Fix Rust 2021 clippy
2021-11-04 10:55:54 +01:00
Andrea Fioraldi
e46bb8643a
Fix try_into in PyAny::cast_as in libafl_qemu
2021-11-04 10:01:13 +01:00
Jordan McLeod
3d436b7519
Upgrade to Rust 2021 Edition ( #340 )
...
* Enable missing const_xxh3 feature
* Move to Rust 2021 Edition
* Fix clippy complaints
* Remove imports made unecessary in 2021 edition
2021-11-04 09:59:49 +01:00
Alexandru Geană
f5bed190e7
add support for aarch64 in libafl_qemu ( #335 )
2021-10-25 22:38:26 +02:00
julihoh
2e55d24f5a
update deps ( #327 )
...
* experimental update deps
* Reverted to rand-core 0.5.1 for Lain compatibility
* updated nix
* less strict libc dep
* remove deprecated errno conversion
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-10-12 10:32:21 +02:00
Dominik Maier
44d844e1e2
32 bit arm regs ( #315 )
...
* aarch and arm regs
* fix arm, remove aarch64
* remove aarch64 mod
2021-10-11 22:20:19 +02:00
Andrea Fioraldi
131483410f
Update QEMU git hash
2021-10-04 10:44:55 +02:00
Andrea Fioraldi
91ce28deac
Python generic qemu hook ( #314 )
...
* python generic hook and value
* python generic hook
2021-10-01 17:10:35 +02:00
Andrea Fioraldi
a420eb0513
Qemu generic hooks ( #313 )
...
* generic hooks
* Fix generic hooks
2021-10-01 16:27:26 +02:00
Andrea Fioraldi
7e176ff292
Qemu partial instr fix ( #312 )
...
* fix edges hashtable query bug in hook
* fmt
* clippy
2021-10-01 14:31:19 +02:00
Andrea Fioraldi
f2929b8253
Allowlist and denylist for QEMU edges and cmps ( #311 )
...
* fix edges hashtable query bug in hook
* fmt
2021-10-01 14:28:24 +02:00
Andrea Fioraldi
90928d3d97
Qemu Helpers and basic snapshotting ( #310 )
...
* store executor_ptr
* QemuHelpers
* working hooks and snapshot helper
* walk only the list of dirty pages on restore()
* mem hooks for snpashot
* brk snapshot
* snapshot method
* macos shit
* sugar and clippy
2021-10-01 12:17:28 +02:00
Andrea Fioraldi
5a246175cf
Fix pyo3 cfg_attr+new nosense
2021-09-29 18:07:57 +02:00
Dominik Maier
5a722994ac
Still fixing CI ( #305 )
...
* clippy
* clippy on windows
* clippy fixes on windows
* clippy, fmt
* fixed testcases for windows
* fixing workspace.yml
* testcase no longer fails without clang
* fix github dependencies to specific revisions
* fix qemu without python
* cleanup HookResult
2021-09-29 17:58:09 +02:00
Andrea Fioraldi
a1bf21465f
Fix missing cfg_attr in libafl_qemu
2021-09-29 17:33:49 +02:00
Andrea Fioraldi
9004add503
Clippy fixes
2021-09-29 16:44:39 +02:00
Andrea Fioraldi
c6f7c3b3a8
Qemu new syscall hook and more python API ( #306 )
...
* new syscall hook
* expose more qemu to pylibafl
* hook syscalls from python
* update python example
* clippy
* clippy
2021-09-29 16:36:40 +02:00
Dominik Maier
9d669bbc63
Fixed CI by ignoring python, resolved multiple warnings ( #303 )
...
* fixing ci
* ignoring dev deps
* fmt
* trying to fix dockerfile
* fix cargo build
* can't build sancov edges and hitcounts together
* fixed warnings
* fixed more warnings
2021-09-28 01:56:07 +02:00
Andrea Fioraldi
a0cdaf71ff
Fix not NUL-terminated argv in libfuzzer_initialize
2021-09-27 17:48:06 +02:00
Andrea Fioraldi
96bbe37cc1
Remove unused files from old libafl_qemu
2021-09-27 14:51:04 +02:00
Andrea Fioraldi
ed228147a0
Python QEMU example fuzzer
2021-09-27 14:48:44 +02:00
Andrea Fioraldi
21f88b58b5
Pylibafl
2021-09-27 14:09:15 +02:00
Andrea Fioraldi
2f2634db02
Python basic bindings for sugar and qemu ( #302 )
...
* InMemoryBytesCoverageSugar python binding
* InMemoryBytesCoverageSugar python binding
* python mod for qemu in libafl_sugar
* libafl_qemu python
* fix
* clippy fixes
* clippy
* added pyo3-build-config for MacOS builds
* gitignor
* python is not default
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-09-27 09:39:21 +02:00
Andrea Fioraldi
1fde608145
Qemu as lib ( #301 )
...
* linking problems
* use shared lib
* ci
* clippy, ci fixegit pushs
* ingoring distclean result
* clippy
* clippy
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-09-24 13:22:33 +02:00
Dominik Maier
985af28c58
less clippy
2021-08-26 19:55:38 +02:00
Andrea Fioraldi
7d249dd306
Update libafl-qemu-bridge commit && libafl_qemu
2021-08-24 16:03:33 +02:00
Andrea Fioraldi
951b6fef36
Bump 0.6.1
2021-08-23 10:01:22 +02:00
julihoh
dcf107a30a
symcc_runtime dependency fix for next libafl version & bump to 0.6.0 ( #268 )
...
* symcc_runtime dependency fix for next libafl version
* bump to 0.6.0
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-08-18 10:57:55 +02:00
Dominik Maier
ff589d9a89
clippy fixes
2021-08-03 12:51:20 +02:00
julihoh
7750707fee
fix ci for latest clippy version ( #239 )
...
* clippy
* fix ubuntu as well
2021-08-03 12:29:30 +02:00