1575 Commits

Author SHA1 Message Date
Andrea Fioraldi
2b0976132a
Generic Inmemory Fuzzer (#166)
* generic inmemory fuzzer

* Link whole archive

* fmt
2021-06-14 10:26:10 +02:00
s1341
ca4bdd3e3b
frida: small fixes (#169)
* Too large allocs should return 0; Don't forcibly free unfreed allocations in reset

* Make max ASAN allocation configurable
2021-06-13 12:27:27 +02:00
Dominik Maier
c123872b11 more informative error message for forkserver 2021-06-10 22:19:44 +02:00
Dominik Maier
022dc33251 clippy 2021-06-10 22:07:18 +02:00
Dominik Maier
c4dd0b25b8 fmt, clippy fixes 2021-06-10 13:39:44 +02:00
Dominik Maier
0c353daee6
Single-threaded Restartable Mgr (#129) (#159)
* initial single-threaded restartable mgr

* starting rework

* created SimpleRestartingManager

* fixed win build

* moved cpu to boplts

* bringing back cpu

* no_std fixes

* no_std fixes

* removed unused variable
2021-06-10 12:43:00 +02:00
s1341
bea557a48a Switch frida_libpng to ShadowExecutor when using cmplog 2021-06-10 12:30:57 +03:00
s1341
3d84a8d081
Merge pull request #164 from AFLplusplus/cmplog_instrumentation
frida: add `cmplog-cores` option
2021-06-09 17:56:55 +03:00
Omree
48af1661b4 change error message 2021-06-09 17:20:26 +03:00
Omree
f1c646dd1c Merge branch 'main' into cmplog_instrumentation 2021-06-09 17:05:37 +03:00
Omree
1181728a4f changed command line parameter from cmplog_cores to cmplog-cores 2021-06-09 16:55:42 +03:00
Omree
ed26319a21 add cmplog_cores command line argument support 2021-06-09 16:27:22 +03:00
Dominik Maier
6b235472e0
Added load_initial_inputs_forced to add all inputs to a corpus (fixes #123) (#158)
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-06-09 14:51:48 +02:00
Andrea Fioraldi
308e9c7fe9 adapt fuzzers/libfuzzer_stb_image to use ShadowTracingStage for CmpLog 2021-06-09 14:38:45 +02:00
Andrea Fioraldi
8fa654dd61 fix generics for ShadowExecutor 2021-06-09 14:34:38 +02:00
Andrea Fioraldi
2328ac252b Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-06-09 14:17:54 +02:00
Andrea Fioraldi
2b16e92461 introduce ShadowTracingStage 2021-06-09 14:17:43 +02:00
OB
7abd7c8162
Cmplog instrumentation for Frida (#99)
* libafl_targets: refactor sancov trace-pc

* cmp observer

* libaf_targets: new structure to isolate sancov

* fix C warning

* combined executor

* cmp observer and feedback

* I2SRandReplace mutator

* impl CmpMap for CmpLogMap in libafl_targets

* cmplog observer

* clippy

* TracingStage

* working random cmplog mutations

* enable cmplog for libfuzzer_stb_image

* re-enable new testcase stats print

* fix update stats display

* bump 0.3.1

* clippy

* clippy

* no clippy for fuzzers/

* fix

* add cmplog runtime instrumentation

* test cmplog against value profile feature

* fix compile error

* add target arch aarch64 for is_interesting_cmplog_instruction

* add cfg target aarch64 on cmplog related code within stalker loop

* revert changes in cargo.toml

* align code with 'main' branch

* revert accidently changed Cargo.toml file

* update cmplog runtime code to work with the cmplog backend implementation

* change magic to 8 bytes

* cmplog runs with observer- no crashes

* clippy fixes

* add cmplog_runtime as feature

* set cmplog command-line argument to false by default

* setup cmplog observer and mutator correctly

* decrease emitted code opcode count

* add cmplog testing to the harness

* get rid of irrelevant changes and unused code, add comments, change
feature name to "cmplog"

* get rid of some unessecery whitespaces and new lines

* fix clippy errors

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Omree <you@example.com>
2021-06-09 14:11:43 +02:00
Omree
b8e4f4c6fa fix clippy errors 2021-06-09 13:16:05 +03:00
Andrea Fioraldi
9e9425c622 introduce ShadowExecutor 2021-06-09 12:15:08 +02:00
Omree
3651e6aedf get rid of some unessecery whitespaces and new lines 2021-06-09 13:08:50 +03:00
Omree
0e2a280eae get rid of irrelevant changes and unused code, add comments, change
feature name to "cmplog"
2021-06-09 13:01:22 +03:00
Omree
1fc9796bdb add cmplog testing to the harness 2021-06-09 12:06:31 +03:00
Omree
584b034a52 decrease emitted code opcode count 2021-06-09 12:05:35 +03:00
Omree
2451302575 setup cmplog observer and mutator correctly 2021-06-09 12:03:57 +03:00
Omree
e8295988f2 set cmplog command-line argument to false by default 2021-06-09 12:01:55 +03:00
Omree
6f98bbe6cf add cmplog_runtime as feature 2021-06-09 12:01:39 +03:00
Omree
5de4c9305e Merge branch 'main' into cmplog_instrumentation 2021-06-09 10:37:43 +03:00
s1341
609939b5ec Use rlimit_cur as rlimit_max is set to MAX_LONG 2021-06-09 10:36:15 +03:00
s1341
cbf271d99f Remove stray print 2021-06-09 07:35:44 +03:00
Dominik Maier
6d2074bd7e storing sender id to env 2021-06-08 16:24:19 +02:00
Andrea Fioraldi
5c8c3be9e5 print sender id 2021-06-08 15:45:35 +02:00
Dominik Maier
24beae99f7
launchers without brokers (fixes #128) (#157) 2021-06-08 15:40:32 +02:00
s1341
4271790cb5
Add unique_name() to Input. Use it to generate filename in OnDiskCorpus (#152)
* Add unique_name() to Input. Use unique_name to generate filename in OnDiskCorpus

* updated duplicate ahash

* nostd fixes

* fmt

* rename unique_name to generate_name

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-06-08 09:54:38 +02:00
Andrea Fioraldi
cd9be5b33b Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-06-08 09:54:08 +02:00
Andrea Fioraldi
397a43c5d3 update build.rs for libafl_targets 2021-06-08 09:53:58 +02:00
Dominik Maier
36b823548a
nightly clippy fixes (#155)
* nightly clippy fixes

* more niglty clippy fixes

* added Safety section

* no_std fixes

* final fixes
2021-06-07 12:30:56 +02:00
Dominik Maier
35e655ca04
LLMP Changes (#130)
* llmp_changes

* fixed send

* no_std fixes
2021-06-07 02:15:31 +02:00
Dominik Maier
392ffd33f7
Fix client_id for outgoing messages (#154)
* attaching client_id to outgoing messages

* fixed forwarding, example
2021-06-07 01:48:52 +02:00
Dominik Maier
0d0bcc1796 clippy fixes 2021-06-07 01:44:07 +02:00
Dominik Maier
f858206ab1 macos fixes 2021-06-07 01:28:17 +02:00
Dominik Maier
3b2ee4bb70
Added MacOS CI (#131)
* added macos ci

* running tests on macos

* some macos fixes

* fmt

* some must_use infos

* trying' to fix MacOs testcases

* no main in test

* fixed MacOS testcases

* tried to fix build errors

* unified shmem_limits

* Revert "unified shmem_limits"

This reverts commit 8c6bb8d6a2cec71d72bb181b5b491737a771298e.

* hopefully fixed macos testcase

* removed unneeded values
2021-06-07 01:24:41 +02:00
Dominik Maier
370c652838 Merge branch 'main' into cmplog_instrumentation 2021-06-07 00:52:24 +02:00
Douman
11771c3323
Bump xxhash-rust minimal version to fixed one (#153)
* Bump minimal xxhash_rust version to 0.8.2

Note that 0.8.1 bug doesn't affect current usage, but still do it just in case

* Do not use const xxh3 not in cosnt context
2021-06-06 23:54:16 +02:00
Omree
0a5aa77cd6 cmplog runs with observer- no crashes 2021-06-06 13:03:11 +03:00
Omree
ea5aba220c change magic to 8 bytes 2021-06-06 12:53:24 +03:00
s1341
636194de0e
Frida switch from walk-proc-maps to frida-gum based extraction of ranges (#149)
* Bump frida-gum version

* Move from walk of /proc/pid/maps to frida based range/module locatoin
2021-06-06 10:40:07 +02:00
Gal Tashma
156ed08905
Eager and Fast FeedbackTuple Implementations (#144)
* Introduce eager and fast feedback_or! implementations (issue #135)

* rename FeedbackTuple to CombinedFeedback (as it is a struct not tuple) and add fast/eager AND
2021-06-04 14:07:02 +02:00
Andrea Fioraldi
42997dbde9 Fix #147 2021-06-04 14:03:31 +02:00
Omree
ac27efb954 update cmplog runtime code to work with the cmplog backend implementation 2021-06-02 10:04:03 +03:00