1575 Commits

Author SHA1 Message Date
Omree
2a325beeff revert accidently changed Cargo.toml file 2021-06-02 10:04:03 +03:00
Omree
5bd08a6eee align code with 'main' branch 2021-06-02 10:04:03 +03:00
Omree
b59752eba5 revert changes in cargo.toml 2021-06-02 10:04:03 +03:00
Omree
23b2b4a06e add cfg target aarch64 on cmplog related code within stalker loop 2021-06-02 10:04:03 +03:00
Omree
2c0548a757 add target arch aarch64 for is_interesting_cmplog_instruction 2021-06-02 10:04:03 +03:00
Omree
8b2e86e7e6 fix compile error 2021-06-02 10:04:03 +03:00
Omree
85a90c7d21 test cmplog against value profile feature 2021-06-02 10:04:03 +03:00
Omree
2bbff1b7ab add cmplog runtime instrumentation 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
e6b95c1a4c fix 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
b999f45caa no clippy for fuzzers/ 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
e719e85aba clippy 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
9ae13eb5da clippy 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
69d87b3763 bump 0.3.1 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
aa14c903db fix update stats display 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
c4f13df9c7 re-enable new testcase stats print 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
aa6df29a9c enable cmplog for libfuzzer_stb_image 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
16d4c36f12 working random cmplog mutations 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
f61140bdcf TracingStage 2021-06-02 10:04:03 +03:00
Dominik Maier
b28306519f clippy 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
933b65dd86 cmplog observer 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
ccfc95aa3a impl CmpMap for CmpLogMap in libafl_targets 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
ae5b4f88cc I2SRandReplace mutator 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
8437c4adb7 cmp observer and feedback 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
f81a52e14d combined executor 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
a3a2b47b2a fix C warning 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
f25554805d libaf_targets: new structure to isolate sancov 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
a976c3b6f5 cmp observer 2021-06-02 10:04:03 +03:00
Andrea Fioraldi
eba6646f90 libafl_targets: refactor sancov trace-pc 2021-06-02 10:04:03 +03:00
Mrmaxmeier
de933fee63
check each feature in CI and fix introspection on no_std (#143)
* ci: check every feature with cargo-hack

* fix introspection on no_std

* ci: the dev branch is not a thing anymore

* ci: run tests with --all-features
2021-06-01 18:03:26 +02:00
Gal Tashma
ad9a2faaea
don't panick on time subtraction failure (#141)
On some machines, the system clock can be faulty and start_time maybe
actually be after the end time. This causes a panic, instead gracefully
just put a None time in `self.last_runtime`
2021-06-01 18:02:27 +02:00
Mrmaxmeier
1b755036ad
remove unnecessary generics on RandGenerators (#142) 2021-06-01 17:26:36 +02:00
Toka
c90604f123
TimeoutForkserverExecutor fix (#140)
* fix the call to kill

* fix
2021-05-31 19:31:32 +02:00
Toka
e4b3cc542a
Forkserver_simple uses TimeoutForkserverExecutor (#139)
* forkserver_simple uses TimeoutforkserverExecutor

* fmt

* from_millis
2021-05-31 15:44:56 +02:00
Toka
e68eaf8244
Timeout forkserver (#136)
* barebones for TimeoutForkserverExecutor

* TimeoutForkserverExecutor

* update pid in forkserverexecutor

* clppy and other small fixes

* doc

* fix

* no unwrap

* read_exact and error handling

* fix

* semicolon
2021-05-30 23:11:10 +02:00
David CARLIER
3e51981cf6
Fix tests on FreeBSD increasing couple of shared memory values (#138)
like macOs.
2021-05-30 23:09:54 +02:00
David CARLIER
e61f80584e
FreeBSD build fix proposal. (#137)
rlim_t is signed in this platform.
2021-05-29 00:31:04 +02:00
s1341
83bef6e85a
Fix frida bugs (#132)
* Get rid of extra deactivate

* Fix realloc, posix_memalign/memalign bugs

* Fix cfg attributes; Add instrumented ranges and translated PC to func errors

* Formatting

* Make hook_functionss aarch64 only for now.
2021-05-27 11:17:42 +02:00
Dominik Maier
945693f6ed fixed example testcase 2021-05-26 16:50:10 +02:00
Dominik Maier
ca869cd70a macos frida fixes 2021-05-26 14:01:33 +02:00
Dominik Maier
81ccf7f7d8 some macos fixes 2021-05-26 13:58:12 +02:00
Toka
5d44846c27
Improve TimeoutExecutor (#126)
* improve TimeoutExecutor

* fix for windows build
2021-05-25 22:20:52 +02:00
Andrea Fioraldi
a0804fd24d
Decouple llmp broker from manager (#125)
* decouple broker from manager

* fix no_std

* fix win build
2021-05-25 18:00:27 +02:00
Andrea Fioraldi
46716e8090
Remove executor hooks (#124)
* remove HasExecHooks from Executor

* adapt the frida executor

* adapt frida and avoid recursive type infearence

* fix win build
2021-05-25 15:19:10 +02:00
Dominik Maier
7493b59ba8 bringing back light clippy for fuzzers :) 2021-05-25 14:53:57 +02:00
s1341
3a21ad59a4
Hook using frida gum interceptor instead of gothook (#112)
* Move from gothook to frida-based hooks

* Force link against libc++

* Clippy + cleanup prints

* exclude ranges

* Add back guard pages; Implement libc hooks

* Bump frida-rust version

* Add hooks for mmap/munmap, as per issue #105

* Refactor to get rid of global allocator singleton

* Cleanup imports; Fix free out-of-range; Move to fixed addresses for asan allocatoins

* use frida-rust from crates.io now that it has caught up

* cargo fmt

* Clippy fixes

* Better clippy fix

* More clippy fix

* Formatting

* Review changes
2021-05-25 13:45:06 +02:00
Toka
d4410c072a
ForkserverExecutor (#111)
* add Forkserver, Pipe Outfile struct

* add forkserver executor struct, and shmem init

* close pipes in the destructor of Forkserver

* fill pre_exec to write out the inputs

* fix

* read_st, write_ctl

* more handshakes

* wrap Pipe in Arc, fill post_exec

* add Forkserver, Pipe Outfile struct

* add forkserver executor struct, and shmem init

* close pipes in the destructor of Forkserver

* fill pre_exec to write out the inputs

* fix

* read_st, write_ctl

* more handshakes

* wrap Pipe in Arc, fill post_exec

* fix for the lastest HasExecHooks trait

* use Dominik's pipe, remove Arc and temporarily pass RawFd to setstdin but trying to figure out other solutions

* add libafl_tests, put a very simple vulnerable program

* fix

* added forkserver_simple (mostly copy-pasted from babyfuzzer)

* fix test

* handle crash in post_exec

* add README.md

* check exec time to see why it's so slow

* remove double invokation of is_interesting for the obejctive

* make forkserver_simple AFL-like and improve speed

* some debugging help

* do not evaluate feedback if solution

* speedup the things

* working input placement via stdin in Forkserver

* don't call panic! but return errors, rewrite some comments

* use AFLplusplus/afl-cc instead of AFL

* use .cur_input like AFL

* bring the test for forkserver back

* add better README.md message

* failing the initial handshake should return an error

* delete some commented-out code

* format

* format

* ForkserverExecutor needs std and is unix-only for now

* clippy

* OutFile error handling

* fmt

* clippy

* don't build libafl_tests on windows

* fix

* keep test in forkserver.rs simple

* add forkserver_test feature for libafl_tests

* format

* some doc

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-05-25 13:40:00 +02:00
Max Ammann
1089c93577
Make load_initial_inputs work for arbitrary inputs (#121) 2021-05-24 14:03:32 +02:00
Andrea Fioraldi
c94cb53236 Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-05-24 14:02:32 +02:00
Andrea Fioraldi
aa4ed8d572 frida: update frida-rust to frida/frida-rust@69f5b8236a 2021-05-24 14:02:21 +02:00
Max Ammann
9569e24a06
Remove unused HasRand to avoid confusion with libafl::state::HasRand (#120) 2021-05-24 13:54:51 +02:00