• Home
  • Raw
  • Download

Lines Matching +full:macos +full:- +full:12

6 You can use the [Dockerfile](../Dockerfile) (which has gcc-10 and clang-12 -
7 hence afl-clang-lto is available) or just pull directly from the Docker Hub
12 docker run -ti -v /location/of/your/target:/src aflplusplus/aflplusplus
22 sudo apt-get update
23 sudo apt-get install -y build-essential python3-dev automake cmake git flex bison libglib2.0-dev li…
24 # try to install llvm 12 and install the distro default if that fails
25 sudo apt-get install -y lld-12 llvm-12 llvm-12-dev clang-12 || sudo apt-get install -y lld llvm llv…
26 …t-get install -y gcc-$(gcc --version|head -n1|sed 's/\..*//'|sed 's/.* //')-plugin-dev libstdc++-$…
27 sudo apt-get install -y ninja-build # for QEMU mode
34 It is recommended to install the newest available gcc, clang and llvm-dev
39 assisting tooling compiled but are not interested in binary-only targets, then
43 make source-only
49 * binary-only: everything for binary-only fuzzing: frida_mode, nyx_mode,
52 * source-only: everything for source code fuzzing: nyx_mode, libdislocator,
54 * distrib: everything (for both binary-only and source code fuzzing)
59 * code-format: format the code, do this before you commit and send a PR please!
75 * STATIC - compile AFL++ static
76 * ASAN_BUILD - compiles with memory sanitizer for debug purposes
77 * DEBUG - no optimization, -ggdb3, all warnings and -Werror
78 * PROFILING - compile with profiling information (gprof)
79 * INTROSPECTION - compile afl-fuzz with mutation introspection
80 * NO_PYTHON - disable python support
81 * NO_SPLICING - disables splicing mutation in afl-fuzz, not recommended for
83 * NO_NYX - disable building nyx mode dependencies
84 * AFL_NO_X86 - if compiling on non-intel/amd platforms
85 * LLVM_CONFIG - if your distro doesn't use the standard name for llvm-config
90 ## MacOS X on x86 and arm64 (M1)
92 MacOS has some gotchas due to the idiosyncrasies of the platform.
102 freshly installed clang, clang++, llvm-config, gmake and coreutils, e.g.:
105 # Depending on your MacOS system + brew version it is either
121 `afl-gcc` will fail unless you have GCC installed, but that is using outdated
122 instrumentation anyway. `afl-clang` might fail too depending on your PATH setup.
123 But you don't want neither, you want `afl-clang-fast` anyway :) Note that
124 `afl-clang-lto`, `afl-gcc-fast` and `qemu_mode` are not working on MacOS.
126 The crash reporting daemon that comes by default with MacOS X will cause
130 launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
131 sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist
135 and definitely don't look POSIX-compliant. This means two things:
137 - Fuzzing will be probably slower than on Linux. In fact, some folks report
139 MacOS X.
140 - Some non-portable, platform-specific code may be incompatible with the AFL++
142 environment before starting afl-fuzz.
144 User emulation mode of QEMU does not appear to be supported on MacOS X, so
145 black-box instrumentation mode (`-Q`) will not work. However, Frida mode (`-O`)
146 works on both x86 and arm64 MacOS boxes.
148 MacOS X supports SYSV shared memory used by AFL's instrumentation, but the
153 $ ipcs -M
181 [http://www.spy-hill.com/help/apple/SharedMemory.html](http://www.spy-hill.com/help/apple/SharedMem…