Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reachability example #65

Merged
merged 14 commits into from
May 5, 2021
Merged

Reachability example #65

merged 14 commits into from
May 5, 2021

Conversation

tokatoka
Copy link
Member

@tokatoka tokatoka commented Apr 29, 2021

An example fuzzer for Other objectives examples.
The fuzzer checks if the fuzzer has reached a given program point (like in directed greybox fuzzing).

use diff.patch to patch libpng-1.6.37/png.c and insert instrumentation.

TODO:

  • Bring hook_func deeper inside the libpng into a decent position
  • Maybe ReachbilityFeedback/Observer should maintain a vector of targets instead of a single target? (so that we can check multiple program points at the same time)

@tokatoka
Copy link
Member Author

tokatoka commented Apr 29, 2021

So, currently I am directly inserting code(hook_func) into libpng's source code.
Would this be a good way for checking reachability?
and is there some better solution than this (like dlsym in case of a dynamic lib)
png.c line 384

#include <stdint.h>
size_t libafl_target_ctr = 0;
void hook_func(){
   //uintptr_t k = (uintptr_t)__builtin_return_address(0);
   libafl_target_ctr += 1;
}

void PNGAPI
png_destroy_info_struct(png_const_structrp png_ptr, png_infopp info_ptr_ptr)
{
   png_inforp info_ptr = NULL;

   png_debug(1, "in png_destroy_info_struct");
   hook_func();

   if (png_ptr == NULL)
      return;

   if (info_ptr_ptr != NULL)
      info_ptr = *info_ptr_ptr;

@andreafioraldi
Copy link
Member

andreafioraldi commented Apr 30, 2021

For multiple program point you can use a MapFeedback maybe, but then you need to know the number of points in advance

@tokatoka
Copy link
Member Author

tokatoka commented May 3, 2021

alright, I've decided to use StdMapObserver instead.

@tokatoka tokatoka marked this pull request as ready for review May 3, 2021 06:29
@andreafioraldi
Copy link
Member

@tokatoka lgtm, can you format and rebase on #85 ?

commit f20524e
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 16:00:39 2021 +0200

    Composing feedback (#85)

    * composing feedbacks as logic operations and bump to 0.2

    * adapt fuzzers and libafl_frida

    * fix windows build

commit e06efaa
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 13:54:46 2021 +0200

    Observers refactor (#84)

    * new observer structure with HasExecHooks

    * adapt libafl_frida to new observers

    * docstrings

commit 17c6fcd
Merge: 08a2d43 a78a4b7
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:16:49 2021 +0200

    Merge branch 'main' into dev

commit 08a2d43
Author: David CARLIER <[email protected]>
Date:   Mon May 3 10:15:28 2021 +0100

    Build warning fix proposal, mostly about reference to packed fields. (#79)

commit 88fe8fa
Merge: d5d46ad d2e7719
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:05:42 2021 +0200

    Merge pull request #80 from marcograss/book-typos

    fixed some minor typos in the book

commit a78a4b7
Author: s1341 <[email protected]>
Date:   Mon May 3 10:34:15 2021 +0300

    frida-asan: Un-inline report funclet to reduce code bloat (#81)

    * frida-asan: Outline report funclet to reduce code bloat

    * fmt

commit d2e7719
Author: Marco Grassi <[email protected]>
Date:   Sun May 2 21:58:33 2021 +0800

    fixed some minor typos in the book

commit d5d46ad
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 23:09:10 2021 +0200

    make clippy less pedantic

commit 52d25e9
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 22:23:59 2021 +0200

    fixing clippy::match-same-arms

commit cd66f88
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 14:02:07 2021 +0200

    fixed clippy run in workflow

commit ddcf086
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:53:29 2021 +0200

    Update README.md

commit c715f1f
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:48:38 2021 +0200

    using clippy.sh

commit 9374b26
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:47:44 2021 +0200

    some clippy warning ignored

commit b9e75c0
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:24:02 2021 +0200

    Tcp Broker to Broker Communication (#66)

    * initial b2b implementation

    * no_std and clippy fixes

    * b2b testcase added

    * more correct testcases

    * fixed b2b

    * typo

    * fixed unused warning
@tokatoka
Copy link
Member Author

tokatoka commented May 4, 2021

libfuzzer_libpng crashes at this line.
https://github.com/AFLplusplus/LibAFL/blob/dev/libafl/src/corpus/minimizer.rs#L167
which is called here in state/mod.rs

            self.feedback_mut().append_metadata(&mut testcase)?;
            let idx = self.corpus.add(testcase)?;
            scheduler.on_add(self, idx)?;

I guess, we might be missing append/discard_metadata for {and, or, not} feedback, maybe? 💭
(I mean not the default Ok(()) but we should append metadata from each feedback instance if the final result (the top-level boolean value) is evaluated as True, I guess)

@tokatoka
Copy link
Member Author

tokatoka commented May 5, 2021

Now that it works

@andreafioraldi andreafioraldi merged commit ca004e9 into dev May 5, 2021
andreafioraldi pushed a commit that referenced this pull request May 6, 2021
* add reachability observer/feedback

* add fuzzer exmaple

* fmt

* remove reachabilityobserver, use stdmapobserver instead

* update diff.patch

* update README

* fix the clippy warning

* Squashed commit of the following:

commit f20524e
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 16:00:39 2021 +0200

    Composing feedback (#85)

    * composing feedbacks as logic operations and bump to 0.2

    * adapt fuzzers and libafl_frida

    * fix windows build

commit e06efaa
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 13:54:46 2021 +0200

    Observers refactor (#84)

    * new observer structure with HasExecHooks

    * adapt libafl_frida to new observers

    * docstrings

commit 17c6fcd
Merge: 08a2d43 a78a4b7
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:16:49 2021 +0200

    Merge branch 'main' into dev

commit 08a2d43
Author: David CARLIER <[email protected]>
Date:   Mon May 3 10:15:28 2021 +0100

    Build warning fix proposal, mostly about reference to packed fields. (#79)

commit 88fe8fa
Merge: d5d46ad d2e7719
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:05:42 2021 +0200

    Merge pull request #80 from marcograss/book-typos

    fixed some minor typos in the book

commit a78a4b7
Author: s1341 <[email protected]>
Date:   Mon May 3 10:34:15 2021 +0300

    frida-asan: Un-inline report funclet to reduce code bloat (#81)

    * frida-asan: Outline report funclet to reduce code bloat

    * fmt

commit d2e7719
Author: Marco Grassi <[email protected]>
Date:   Sun May 2 21:58:33 2021 +0800

    fixed some minor typos in the book

commit d5d46ad
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 23:09:10 2021 +0200

    make clippy less pedantic

commit 52d25e9
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 22:23:59 2021 +0200

    fixing clippy::match-same-arms

commit cd66f88
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 14:02:07 2021 +0200

    fixed clippy run in workflow

commit ddcf086
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:53:29 2021 +0200

    Update README.md

commit c715f1f
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:48:38 2021 +0200

    using clippy.sh

commit 9374b26
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:47:44 2021 +0200

    some clippy warning ignored

commit b9e75c0
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:24:02 2021 +0200

    Tcp Broker to Broker Communication (#66)

    * initial b2b implementation

    * no_std and clippy fixes

    * b2b testcase added

    * more correct testcases

    * fixed b2b

    * typo

    * fixed unused warning

* feedbacks now return a boolean value

* use feedback_or, and modify Cargo.toml

* fix diff between dev and this branch

* fmt

Co-authored-by: Dominik Maier <[email protected]>
@domenukk domenukk deleted the reachability_example branch May 6, 2021 22:09
domenukk added a commit that referenced this pull request May 19, 2021
* launcher in linux

* silence stdout and stderr linux

* arg parser and other changes

* retry instead of sleep

* no_std fixes

* reordered includes

* launcher for windows and kill clients when broker returns

* cargo fmt

* started launcher api cleanup

* use closures instead of functions

* small change

* reordered launcher params

* fixed clippy warnings

* fixed no_std

* moved launcher example to own folder

* docu

* cleanup launcher

* more docs

* Fix merge issues

* Rework the launcher code to provide a cleaner API

* Open file before spawning clients

* launcher: fix merge issue, sleep for a different amount for each core

* fixed no_std

* Tcp Broker to Broker Communication (#66)

* initial b2b implementation

* no_std and clippy fixes

* b2b testcase added

* more correct testcases

* fixed b2b

* typo

* fixed unused warning

* some clippy warning ignored

* using clippy.sh

* Update README.md

* fixed clippy run in workflow

* fixing clippy::match-same-arms

* make clippy less pedantic

* fixed some minor typos in the book

* launcher: use s1341's fork of core_affinity

* Build warning fix proposal, mostly about reference to packed fields. (#79)

* Observers refactor (#84)

* new observer structure with HasExecHooks

* adapt libafl_frida to new observers

* docstrings

* Composing feedback (#85)

* composing feedbacks as logic operations and bump to 0.2

* adapt fuzzers and libafl_frida

* fix windows build

* fixed clippy warnings

* Frida suppress instrumentation locations option (#87)

* Implement  frida option

* Format

* add append/discard_metadata for and/or/not feedback (#86)

* add append/discard_metadata for and/or/not feedback

* fix

* Call append_metadata on crash (#88)

* Call append_metadata on crash

* Formatting

* Reachability example (#65)

* add reachability observer/feedback

* add fuzzer exmaple

* fmt

* remove reachabilityobserver, use stdmapobserver instead

* update diff.patch

* update README

* fix the clippy warning

* Squashed commit of the following:

commit f20524e
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 16:00:39 2021 +0200

    Composing feedback (#85)

    * composing feedbacks as logic operations and bump to 0.2

    * adapt fuzzers and libafl_frida

    * fix windows build

commit e06efaa
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 13:54:46 2021 +0200

    Observers refactor (#84)

    * new observer structure with HasExecHooks

    * adapt libafl_frida to new observers

    * docstrings

commit 17c6fcd
Merge: 08a2d43 a78a4b7
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:16:49 2021 +0200

    Merge branch 'main' into dev

commit 08a2d43
Author: David CARLIER <[email protected]>
Date:   Mon May 3 10:15:28 2021 +0100

    Build warning fix proposal, mostly about reference to packed fields. (#79)

commit 88fe8fa
Merge: d5d46ad d2e7719
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:05:42 2021 +0200

    Merge pull request #80 from marcograss/book-typos

    fixed some minor typos in the book

commit a78a4b7
Author: s1341 <[email protected]>
Date:   Mon May 3 10:34:15 2021 +0300

    frida-asan: Un-inline report funclet to reduce code bloat (#81)

    * frida-asan: Outline report funclet to reduce code bloat

    * fmt

commit d2e7719
Author: Marco Grassi <[email protected]>
Date:   Sun May 2 21:58:33 2021 +0800

    fixed some minor typos in the book

commit d5d46ad
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 23:09:10 2021 +0200

    make clippy less pedantic

commit 52d25e9
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 22:23:59 2021 +0200

    fixing clippy::match-same-arms

commit cd66f88
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 14:02:07 2021 +0200

    fixed clippy run in workflow

commit ddcf086
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:53:29 2021 +0200

    Update README.md

commit c715f1f
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:48:38 2021 +0200

    using clippy.sh

commit 9374b26
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:47:44 2021 +0200

    some clippy warning ignored

commit b9e75c0
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:24:02 2021 +0200

    Tcp Broker to Broker Communication (#66)

    * initial b2b implementation

    * no_std and clippy fixes

    * b2b testcase added

    * more correct testcases

    * fixed b2b

    * typo

    * fixed unused warning

* feedbacks now return a boolean value

* use feedback_or, and modify Cargo.toml

* fix diff between dev and this branch

* fmt

Co-authored-by: Dominik Maier <[email protected]>

* clippy fixes

* clippy fixes

* clippy fixes, x86_64 warnings

* more docs

* Observers lifetime (#89)

* introduce MatchName and alow lifetimes in observers

* adapt fuzzers to observers with lifetime

* introduce type_eq when on nightly

* fix no_std

* fmt

* Better docu (#90)

* more docs

* more docs:

* more docu

* more docu

* finished docs

* cleaned up markup

* must_use tags added

* more docs

* more docu, less clippy

* more fixes

* Clippy fixes (#92)

* more docs

* more docs:

* more docu

* more docu

* finished docs

* cleaned up markup

* must_use tags added

* more docs

* swapped if/else, as per clippy

* more docu, less clippy

* more fixes

* Fix merge issues

* Get rid of unneeded prints

* Fix merge errors

* added b2b to restarting interface

* Setting SO_REUSEPORT

* added b2b to launcher api

* more windows launcher

* Fix merge errors

* Add b2b support to frida_libpng

* make frida_libpng bind to a public address

* Convert launcher into a builder LauncherBuilder

* formatting

* Convert setup_restarting_mgr to a builder RestartingMgrBuilder; leave setup_restarting_mgr_std as is, so that fuzzers work

* RcShmem should be locked via a mutex

* Wait at least 1 second between broker and first client, to avoid race

* update frida_libpng README for cross-compiling to android (#100)

Co-authored-by: Ariel Zentner <[email protected]>

* Fixed build for Windows

* no_std fixes

* reverted aa6773d & windows fixes

* added pipes, moving to remove race conditions for rc shmem

* fix unix build

* fixed clippy:

* fixed no_std once more

* renamed b2b to remote_broker_addr

* you get a pre_fork, and you get a post_fork, forks for everyone

* switched to typed_builder

* Fix merge isseu

* Fix frida fuzzer with new Launcher builder

* Introspection (#97)

* Rework to put `ClientPerfStats` in `State` and pass that along. Still need to work on getting granular information from `Feedback` and `Observer`

* Add perf_stats feature to libafl/Cargo.toml

* Update feedbacks to have with_perf

* Remove unneeeded print statement

* cargo fmt all the things

* use local llvmint vs cpu specific asm for reading cycle counter

* Remove debug testing code

* Stats timeout to 3 seconds

* Inline smallish functions for ClientPerfStats

* Remove .libs/llvmint and have the correct conditional compilation of link_llvm_intrinsics on the perf_stats feature

* pub(crate) the NUM_FEEDBACK and NUM_STAGES consts

* Tcp Broker to Broker Communication (#66)

* initial b2b implementation

* no_std and clippy fixes

* b2b testcase added

* more correct testcases

* fixed b2b

* typo

* fixed unused warning

* clippy fixes

* fallback to systemtime on non-x86

* make clippy more strict

* small fixes

* bump 0.2.1

* readme

Co-authored-by: ctfhacker <[email protected]>
Co-authored-by: Dominik Maier <[email protected]>

* typos (please review)

* merged clippy.sh

* utils

* Add asan cores option (#102)

* added asan-cores option for frida fuzzer

When asan is enabled (via LIBBAFL_FRIDA_OPTIONS enable-asan), you can
filter exactly which of the cores asan should run on with the
asan-cores variable.

* add is_some check instead of !None

Co-authored-by: Ariel Zentner <[email protected]>

* moved utils to bolts

* fixed typo

* no_std fixes

* unix fixes

* fixed unix no_std build

* fix llmp.rs

* adapt libfuzzer_libpng_launcher

* added all fuzzers to ci

* fmt, improved ci

* tests crate not ready for prime time

* clippy fixes

* make ci script executable

* trying to fix example fuzzers

* working libfuzzer_libpng_laucnher

* frida_libpng builds

* clippy

* bump version

* fix no_std

* fix dep version

* clippy fixes

* more fies

* clippy++

* warn again

* clearer readme

Co-authored-by: Vimal Joseph <[email protected]>
Co-authored-by: Dominik Maier <[email protected]>
Co-authored-by: s1341 <[email protected]>
Co-authored-by: Marco Grassi <[email protected]>
Co-authored-by: s1341 <[email protected]>
Co-authored-by: Andrea Fioraldi <[email protected]>
Co-authored-by: David CARLIER <[email protected]>
Co-authored-by: Toka <[email protected]>
Co-authored-by: r-e-l-z <[email protected]>
Co-authored-by: Ariel Zentner <[email protected]>
Co-authored-by: ctfhacker <[email protected]>
Co-authored-by: hexcoder <[email protected]>
khang06 pushed a commit to khang06/LibAFL that referenced this pull request Oct 11, 2022
* add reachability observer/feedback

* add fuzzer exmaple

* fmt

* remove reachabilityobserver, use stdmapobserver instead

* update diff.patch

* update README

* fix the clippy warning

* Squashed commit of the following:

commit f20524e
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 16:00:39 2021 +0200

    Composing feedback (AFLplusplus#85)

    * composing feedbacks as logic operations and bump to 0.2

    * adapt fuzzers and libafl_frida

    * fix windows build

commit e06efaa
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 13:54:46 2021 +0200

    Observers refactor (AFLplusplus#84)

    * new observer structure with HasExecHooks

    * adapt libafl_frida to new observers

    * docstrings

commit 17c6fcd
Merge: 08a2d43 a78a4b7
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:16:49 2021 +0200

    Merge branch 'main' into dev

commit 08a2d43
Author: David CARLIER <[email protected]>
Date:   Mon May 3 10:15:28 2021 +0100

    Build warning fix proposal, mostly about reference to packed fields. (AFLplusplus#79)

commit 88fe8fa
Merge: d5d46ad d2e7719
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:05:42 2021 +0200

    Merge pull request AFLplusplus#80 from marcograss/book-typos

    fixed some minor typos in the book

commit a78a4b7
Author: s1341 <[email protected]>
Date:   Mon May 3 10:34:15 2021 +0300

    frida-asan: Un-inline report funclet to reduce code bloat (AFLplusplus#81)

    * frida-asan: Outline report funclet to reduce code bloat

    * fmt

commit d2e7719
Author: Marco Grassi <[email protected]>
Date:   Sun May 2 21:58:33 2021 +0800

    fixed some minor typos in the book

commit d5d46ad
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 23:09:10 2021 +0200

    make clippy less pedantic

commit 52d25e9
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 22:23:59 2021 +0200

    fixing clippy::match-same-arms

commit cd66f88
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 14:02:07 2021 +0200

    fixed clippy run in workflow

commit ddcf086
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:53:29 2021 +0200

    Update README.md

commit c715f1f
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:48:38 2021 +0200

    using clippy.sh

commit 9374b26
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:47:44 2021 +0200

    some clippy warning ignored

commit b9e75c0
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:24:02 2021 +0200

    Tcp Broker to Broker Communication (AFLplusplus#66)

    * initial b2b implementation

    * no_std and clippy fixes

    * b2b testcase added

    * more correct testcases

    * fixed b2b

    * typo

    * fixed unused warning

* feedbacks now return a boolean value

* use feedback_or, and modify Cargo.toml

* fix diff between dev and this branch

* fmt

Co-authored-by: Dominik Maier <[email protected]>
khang06 pushed a commit to khang06/LibAFL that referenced this pull request Oct 11, 2022
* launcher in linux

* silence stdout and stderr linux

* arg parser and other changes

* retry instead of sleep

* no_std fixes

* reordered includes

* launcher for windows and kill clients when broker returns

* cargo fmt

* started launcher api cleanup

* use closures instead of functions

* small change

* reordered launcher params

* fixed clippy warnings

* fixed no_std

* moved launcher example to own folder

* docu

* cleanup launcher

* more docs

* Fix merge issues

* Rework the launcher code to provide a cleaner API

* Open file before spawning clients

* launcher: fix merge issue, sleep for a different amount for each core

* fixed no_std

* Tcp Broker to Broker Communication (AFLplusplus#66)

* initial b2b implementation

* no_std and clippy fixes

* b2b testcase added

* more correct testcases

* fixed b2b

* typo

* fixed unused warning

* some clippy warning ignored

* using clippy.sh

* Update README.md

* fixed clippy run in workflow

* fixing clippy::match-same-arms

* make clippy less pedantic

* fixed some minor typos in the book

* launcher: use s1341's fork of core_affinity

* Build warning fix proposal, mostly about reference to packed fields. (AFLplusplus#79)

* Observers refactor (AFLplusplus#84)

* new observer structure with HasExecHooks

* adapt libafl_frida to new observers

* docstrings

* Composing feedback (AFLplusplus#85)

* composing feedbacks as logic operations and bump to 0.2

* adapt fuzzers and libafl_frida

* fix windows build

* fixed clippy warnings

* Frida suppress instrumentation locations option (AFLplusplus#87)

* Implement  frida option

* Format

* add append/discard_metadata for and/or/not feedback (AFLplusplus#86)

* add append/discard_metadata for and/or/not feedback

* fix

* Call append_metadata on crash (AFLplusplus#88)

* Call append_metadata on crash

* Formatting

* Reachability example (AFLplusplus#65)

* add reachability observer/feedback

* add fuzzer exmaple

* fmt

* remove reachabilityobserver, use stdmapobserver instead

* update diff.patch

* update README

* fix the clippy warning

* Squashed commit of the following:

commit f20524e
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 16:00:39 2021 +0200

    Composing feedback (AFLplusplus#85)

    * composing feedbacks as logic operations and bump to 0.2

    * adapt fuzzers and libafl_frida

    * fix windows build

commit e06efaa
Author: Andrea Fioraldi <[email protected]>
Date:   Tue May 4 13:54:46 2021 +0200

    Observers refactor (AFLplusplus#84)

    * new observer structure with HasExecHooks

    * adapt libafl_frida to new observers

    * docstrings

commit 17c6fcd
Merge: 08a2d43 a78a4b7
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:16:49 2021 +0200

    Merge branch 'main' into dev

commit 08a2d43
Author: David CARLIER <[email protected]>
Date:   Mon May 3 10:15:28 2021 +0100

    Build warning fix proposal, mostly about reference to packed fields. (AFLplusplus#79)

commit 88fe8fa
Merge: d5d46ad d2e7719
Author: Andrea Fioraldi <[email protected]>
Date:   Mon May 3 11:05:42 2021 +0200

    Merge pull request AFLplusplus#80 from marcograss/book-typos

    fixed some minor typos in the book

commit a78a4b7
Author: s1341 <[email protected]>
Date:   Mon May 3 10:34:15 2021 +0300

    frida-asan: Un-inline report funclet to reduce code bloat (AFLplusplus#81)

    * frida-asan: Outline report funclet to reduce code bloat

    * fmt

commit d2e7719
Author: Marco Grassi <[email protected]>
Date:   Sun May 2 21:58:33 2021 +0800

    fixed some minor typos in the book

commit d5d46ad
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 23:09:10 2021 +0200

    make clippy less pedantic

commit 52d25e9
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 22:23:59 2021 +0200

    fixing clippy::match-same-arms

commit cd66f88
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 14:02:07 2021 +0200

    fixed clippy run in workflow

commit ddcf086
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:53:29 2021 +0200

    Update README.md

commit c715f1f
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:48:38 2021 +0200

    using clippy.sh

commit 9374b26
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:47:44 2021 +0200

    some clippy warning ignored

commit b9e75c0
Author: Dominik Maier <[email protected]>
Date:   Sat May 1 13:24:02 2021 +0200

    Tcp Broker to Broker Communication (AFLplusplus#66)

    * initial b2b implementation

    * no_std and clippy fixes

    * b2b testcase added

    * more correct testcases

    * fixed b2b

    * typo

    * fixed unused warning

* feedbacks now return a boolean value

* use feedback_or, and modify Cargo.toml

* fix diff between dev and this branch

* fmt

Co-authored-by: Dominik Maier <[email protected]>

* clippy fixes

* clippy fixes

* clippy fixes, x86_64 warnings

* more docs

* Observers lifetime (AFLplusplus#89)

* introduce MatchName and alow lifetimes in observers

* adapt fuzzers to observers with lifetime

* introduce type_eq when on nightly

* fix no_std

* fmt

* Better docu (AFLplusplus#90)

* more docs

* more docs:

* more docu

* more docu

* finished docs

* cleaned up markup

* must_use tags added

* more docs

* more docu, less clippy

* more fixes

* Clippy fixes (AFLplusplus#92)

* more docs

* more docs:

* more docu

* more docu

* finished docs

* cleaned up markup

* must_use tags added

* more docs

* swapped if/else, as per clippy

* more docu, less clippy

* more fixes

* Fix merge issues

* Get rid of unneeded prints

* Fix merge errors

* added b2b to restarting interface

* Setting SO_REUSEPORT

* added b2b to launcher api

* more windows launcher

* Fix merge errors

* Add b2b support to frida_libpng

* make frida_libpng bind to a public address

* Convert launcher into a builder LauncherBuilder

* formatting

* Convert setup_restarting_mgr to a builder RestartingMgrBuilder; leave setup_restarting_mgr_std as is, so that fuzzers work

* RcShmem should be locked via a mutex

* Wait at least 1 second between broker and first client, to avoid race

* update frida_libpng README for cross-compiling to android (AFLplusplus#100)

Co-authored-by: Ariel Zentner <[email protected]>

* Fixed build for Windows

* no_std fixes

* reverted aa6773d & windows fixes

* added pipes, moving to remove race conditions for rc shmem

* fix unix build

* fixed clippy:

* fixed no_std once more

* renamed b2b to remote_broker_addr

* you get a pre_fork, and you get a post_fork, forks for everyone

* switched to typed_builder

* Fix merge isseu

* Fix frida fuzzer with new Launcher builder

* Introspection (AFLplusplus#97)

* Rework to put `ClientPerfStats` in `State` and pass that along. Still need to work on getting granular information from `Feedback` and `Observer`

* Add perf_stats feature to libafl/Cargo.toml

* Update feedbacks to have with_perf

* Remove unneeeded print statement

* cargo fmt all the things

* use local llvmint vs cpu specific asm for reading cycle counter

* Remove debug testing code

* Stats timeout to 3 seconds

* Inline smallish functions for ClientPerfStats

* Remove .libs/llvmint and have the correct conditional compilation of link_llvm_intrinsics on the perf_stats feature

* pub(crate) the NUM_FEEDBACK and NUM_STAGES consts

* Tcp Broker to Broker Communication (AFLplusplus#66)

* initial b2b implementation

* no_std and clippy fixes

* b2b testcase added

* more correct testcases

* fixed b2b

* typo

* fixed unused warning

* clippy fixes

* fallback to systemtime on non-x86

* make clippy more strict

* small fixes

* bump 0.2.1

* readme

Co-authored-by: ctfhacker <[email protected]>
Co-authored-by: Dominik Maier <[email protected]>

* typos (please review)

* merged clippy.sh

* utils

* Add asan cores option (AFLplusplus#102)

* added asan-cores option for frida fuzzer

When asan is enabled (via LIBBAFL_FRIDA_OPTIONS enable-asan), you can
filter exactly which of the cores asan should run on with the
asan-cores variable.

* add is_some check instead of !None

Co-authored-by: Ariel Zentner <[email protected]>

* moved utils to bolts

* fixed typo

* no_std fixes

* unix fixes

* fixed unix no_std build

* fix llmp.rs

* adapt libfuzzer_libpng_launcher

* added all fuzzers to ci

* fmt, improved ci

* tests crate not ready for prime time

* clippy fixes

* make ci script executable

* trying to fix example fuzzers

* working libfuzzer_libpng_laucnher

* frida_libpng builds

* clippy

* bump version

* fix no_std

* fix dep version

* clippy fixes

* more fies

* clippy++

* warn again

* clearer readme

Co-authored-by: Vimal Joseph <[email protected]>
Co-authored-by: Dominik Maier <[email protected]>
Co-authored-by: s1341 <[email protected]>
Co-authored-by: Marco Grassi <[email protected]>
Co-authored-by: s1341 <[email protected]>
Co-authored-by: Andrea Fioraldi <[email protected]>
Co-authored-by: David CARLIER <[email protected]>
Co-authored-by: Toka <[email protected]>
Co-authored-by: r-e-l-z <[email protected]>
Co-authored-by: Ariel Zentner <[email protected]>
Co-authored-by: ctfhacker <[email protected]>
Co-authored-by: hexcoder <[email protected]>
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.

3 participants