diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Changelog.md | 4 | ||||
-rw-r--r-- | docs/INSTALL.md | 21 | ||||
-rw-r--r-- | docs/custom_mutators.md | 5 |
3 files changed, 26 insertions, 4 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md index fcfd2ce8..cb22c272 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -8,6 +8,10 @@ Want to stay in the loop on major new features? Join our mailing list by sending a mail to <afl-users+subscribe@googlegroups.com>. +### Version ++3.15a (dev) + - added the very good grammar mutator "GramaTron" to the custom_mutators + + ### Version ++3.14c (release) - afl-fuzz: - fix -F when a '/' was part of the parameter diff --git a/docs/INSTALL.md b/docs/INSTALL.md index fc57f546..f6c126a1 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -74,12 +74,29 @@ and depend mostly on user feedback. To build AFL, install llvm (and perhaps gcc) from brew and follow the general instructions for Linux. If possible avoid Xcode at all cost. +`brew install wget git make llvm` + +Be sure to setup PATH to point to the correct clang binaries and use gmake, e.g.: + +``` +export PATH="/usr/local/Cellar/llvm/12.0.1/bin/:$PATH" +gmake +cd frida_mode +gmake +cd .. +gmake install +``` + afl-gcc will fail unless you have GCC installed, but that is using outdated instrumentation anyway. You don't want that. +Note that afl-clang-lto, afl-gcc-fast and qemu_mode are not working on MacOS. The crash reporting daemon that comes by default with MacOS X will cause -problems with fuzzing. You need to turn it off by following the instructions -provided here: http://goo.gl/CCcd5u +problems with fuzzing. You need to turn it off: +``` +launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist +sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist +``` The `fork()` semantics on OS X are a bit unusual compared to other unix systems and definitely don't look POSIX-compliant. This means two things: diff --git a/docs/custom_mutators.md b/docs/custom_mutators.md index 2c0ca3c5..dc036efc 100644 --- a/docs/custom_mutators.md +++ b/docs/custom_mutators.md @@ -47,7 +47,7 @@ int afl_custom_post_trim(void *data, unsigned char success); size_t afl_custom_havoc_mutation(void *data, unsigned char *buf, size_t buf_size, unsigned char **out_buf, size_t max_size); unsigned char afl_custom_havoc_mutation_probability(void *data); unsigned char afl_custom_queue_get(void *data, const unsigned char *filename); -void afl_custom_queue_new_entry(void *data, const unsigned char *filename_new_queue, const unsigned int *filename_orig_queue); +u8 afl_custom_queue_new_entry(void *data, const unsigned char *filename_new_queue, const unsigned int *filename_orig_queue); const char* afl_custom_introspection(my_mutator_t *data); void afl_custom_deinit(void *data); ``` @@ -88,7 +88,7 @@ def queue_get(filename): return True def queue_new_entry(filename_new_queue, filename_orig_queue): - pass + return False def introspection(): return string @@ -156,6 +156,7 @@ def deinit(): # optional for Python - `queue_new_entry` (optional): This methods is called after adding a new test case to the queue. + If the contents of the file was changed return True, False otherwise. - `introspection` (optional): |