mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-22 22:28:49 +00:00
gcta
This commit is contained in:
7
.github/workflows/ci.yml
vendored
7
.github/workflows/ci.yml
vendored
@ -2,13 +2,13 @@ name: CI
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ stable, dev ]
|
branches: [stable, dev]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ stable, dev ]
|
branches: [stable, dev]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: '${{ matrix.os }}'
|
runs-on: "${{ matrix.os }}"
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04]
|
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04]
|
||||||
@ -51,4 +51,3 @@ jobs:
|
|||||||
run: sudo -E ./afl-system-config; export CC=/usr/local/Cellar/llvm/*/bin/clang; export CXX="$CC"++; export PATH=/usr/local/Cellar/llvm/*/":/usr/local/bin:$PATH"; export LLVM_CONFIG=/usr/local/Cellar/llvm/*/bin/llvm-config; gmake tests
|
run: sudo -E ./afl-system-config; export CC=/usr/local/Cellar/llvm/*/bin/clang; export CXX="$CC"++; export PATH=/usr/local/Cellar/llvm/*/":/usr/local/bin:$PATH"; export LLVM_CONFIG=/usr/local/Cellar/llvm/*/bin/llvm-config; gmake tests
|
||||||
- name: force frida test for MacOS
|
- name: force frida test for MacOS
|
||||||
run: export AFL_PATH=`pwd`; /usr/local/bin/gcc -o test-instr test-instr.c; mkdir in; echo > in/in; AFL_NO_UI=1 ./afl-fuzz -O -i in -o out -V 5 -- ./test-instr
|
run: export AFL_PATH=`pwd`; /usr/local/bin/gcc -o test-instr test-instr.c; mkdir in; echo > in/in; AFL_NO_UI=1 ./afl-fuzz -O -i in -o out -V 5 -- ./test-instr
|
||||||
|
|
@ -680,7 +680,7 @@ ifneq "$(SYS)" "Darwin"
|
|||||||
endif
|
endif
|
||||||
-$(MAKE) -C utils/libdislocator
|
-$(MAKE) -C utils/libdislocator
|
||||||
-$(MAKE) -C utils/libtokencap
|
-$(MAKE) -C utils/libtokencap
|
||||||
# $(MAKE) -C utils/plot_ui
|
# -$(MAKE) -C utils/plot_ui
|
||||||
ifeq "$(SYS)" "Linux"
|
ifeq "$(SYS)" "Linux"
|
||||||
ifndef NO_NYX
|
ifndef NO_NYX
|
||||||
-cd nyx_mode && ./build_nyx_support.sh
|
-cd nyx_mode && ./build_nyx_support.sh
|
||||||
|
@ -122,7 +122,7 @@ test_deps:
|
|||||||
# @echo "[*] Checking for gcc for plugin support..."
|
# @echo "[*] Checking for gcc for plugin support..."
|
||||||
# @$(CC) -v 2>&1 | grep -q -- --enable-plugin || ( echo "[-] Oops, this gcc has not been configured with plugin support."; exit 1 )
|
# @$(CC) -v 2>&1 | grep -q -- --enable-plugin || ( echo "[-] Oops, this gcc has not been configured with plugin support."; exit 1 )
|
||||||
@echo "[*] Checking for gcc plugin development header files..."
|
@echo "[*] Checking for gcc plugin development header files..."
|
||||||
-@test -d `$(CC) -print-file-name=plugin`/include || ( echo "[-] Oops, can't find gcc header files. Be sure to install 'gcc-X-plugin-dev'."; exit 1 )
|
@test -d `$(CC) -print-file-name=plugin`/include || ( echo "[-] Oops, can't find gcc header files. Be sure to install 'gcc-X-plugin-dev'."; exit 1 )
|
||||||
@echo "[*] Checking for './afl-showmap'..."
|
@echo "[*] Checking for './afl-showmap'..."
|
||||||
@test -f ./afl-showmap || ( echo "[-] Oops, can't find './afl-showmap'. Be sure to compile AFL first."; exit 1 )
|
@test -f ./afl-showmap || ( echo "[-] Oops, can't find './afl-showmap'. Be sure to compile AFL first."; exit 1 )
|
||||||
@echo "[+] All set and ready to build."
|
@echo "[+] All set and ready to build."
|
||||||
|
28
Makefile
28
Makefile
@ -1,42 +1,42 @@
|
|||||||
all:
|
all:
|
||||||
@echo trying to use GNU make...
|
@echo trying to use GNU make...
|
||||||
-@gmake all
|
@gmake all || echo please install GNUmake
|
||||||
|
|
||||||
source-only:
|
source-only:
|
||||||
-@gmake source-only
|
@gmake source-only
|
||||||
|
|
||||||
binary-only:
|
binary-only:
|
||||||
-@gmake binary-only
|
@gmake binary-only
|
||||||
|
|
||||||
distrib:
|
distrib:
|
||||||
-@gmake distrib
|
@gmake distrib
|
||||||
|
|
||||||
man:
|
man:
|
||||||
-@gmake man
|
@gmake man
|
||||||
|
|
||||||
install:
|
install:
|
||||||
-@gmake install
|
@gmake install
|
||||||
|
|
||||||
document:
|
document:
|
||||||
-@gmake document
|
@gmake document
|
||||||
|
|
||||||
deepclean:
|
deepclean:
|
||||||
-@gmake deepclean
|
@gmake deepclean
|
||||||
|
|
||||||
code-format:
|
code-format:
|
||||||
-@gmake code-format
|
@gmake code-format
|
||||||
|
|
||||||
help:
|
help:
|
||||||
-@gmake help
|
@gmake help
|
||||||
|
|
||||||
tests:
|
tests:
|
||||||
-@gmake tests
|
@gmake tests
|
||||||
|
|
||||||
unit:
|
unit:
|
||||||
-@gmake unit
|
@gmake unit
|
||||||
|
|
||||||
unit_clean:
|
unit_clean:
|
||||||
-@gmake unit_clean
|
@gmake unit_clean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-@gmake clean
|
@gmake clean
|
||||||
|
@ -30,7 +30,7 @@ sudo apt-get install -y gcc-$(gcc --version|head -n1|sed 's/\..*//'|sed 's/.* //
|
|||||||
sudo apt-get install -y ninja-build # for QEMU mode
|
sudo apt-get install -y ninja-build # for QEMU mode
|
||||||
git clone https://github.com/AFLplusplus/AFLplusplus
|
git clone https://github.com/AFLplusplus/AFLplusplus
|
||||||
cd AFLplusplus
|
cd AFLplusplus
|
||||||
make -i distrib
|
make distrib
|
||||||
sudo make install
|
sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -39,13 +39,13 @@ sudo make install
|
|||||||
It is recommended to install the newest available gcc, clang and llvm-dev
|
It is recommended to install the newest available gcc, clang and llvm-dev
|
||||||
possible in your distribution!
|
possible in your distribution!
|
||||||
|
|
||||||
Note that `make -i distrib` also builds FRIDA mode, QEMU mode, unicorn_mode, and
|
Note that `make distrib` also builds FRIDA mode, QEMU mode, unicorn_mode, and
|
||||||
more. If you just want plain AFL++, then do `make all`. If you want some
|
more. If you just want plain AFL++, then do `make all`. If you want some
|
||||||
assisting tooling compiled but are not interested in binary-only targets, then
|
assisting tooling compiled but are not interested in binary-only targets, then
|
||||||
instead choose:
|
instead choose:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
make -i source-only
|
make source-only
|
||||||
```
|
```
|
||||||
|
|
||||||
These build targets exist:
|
These build targets exist:
|
||||||
@ -72,7 +72,7 @@ you can also build statically linked versions of the AFL++ binaries by passing
|
|||||||
the `STATIC=1` argument to make:
|
the `STATIC=1` argument to make:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
make -i STATIC=1
|
make STATIC=1
|
||||||
```
|
```
|
||||||
|
|
||||||
These build options exist:
|
These build options exist:
|
||||||
@ -90,7 +90,7 @@ These build options exist:
|
|||||||
* LLVM_CONFIG - if your distro doesn't use the standard name for llvm-config
|
* LLVM_CONFIG - if your distro doesn't use the standard name for llvm-config
|
||||||
(e.g., Debian)
|
(e.g., Debian)
|
||||||
|
|
||||||
e.g.: `make -i ASAN_BUILD=1`
|
e.g.: `make ASAN_BUILD=1`
|
||||||
|
|
||||||
## MacOS X on x86 and arm64 (M1)
|
## MacOS X on x86 and arm64 (M1)
|
||||||
|
|
||||||
@ -116,11 +116,11 @@ export PATH="/usr/local/opt/llvm/bin:$PATH"
|
|||||||
export PATH="/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:$PATH"
|
export PATH="/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:$PATH"
|
||||||
export CC=clang
|
export CC=clang
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
gmake -i
|
gmake
|
||||||
cd frida_mode
|
cd frida_mode
|
||||||
gmake -i
|
gmake
|
||||||
cd ..
|
cd ..
|
||||||
sudo gmake -i install
|
sudo gmake install
|
||||||
```
|
```
|
||||||
|
|
||||||
`afl-gcc` will fail unless you have GCC installed, but that is using outdated
|
`afl-gcc` will fail unless you have GCC installed, but that is using outdated
|
||||||
|
Reference in New Issue
Block a user