Skip to content
Snippets Groups Projects
Commit e969972c authored by Ruben ten Hove's avatar Ruben ten Hove
Browse files

gcta

parent 80e829f7
No related branches found
No related tags found
No related merge requests found
...@@ -2,13 +2,13 @@ name: CI ...@@ -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: ...@@ -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
\ No newline at end of file
...@@ -19,7 +19,7 @@ jobs: ...@@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry # Container cache registry - name: Login to GitHub Container Registry # Container cache registry
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with:
registry: ghcr.io registry: ghcr.io
...@@ -138,6 +138,6 @@ jobs: ...@@ -138,6 +138,6 @@ jobs:
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
push: true push: true
tags: ${{ steps.push-tags.outputs.PUSH_TAGS }} tags: ${{ steps.push-tags.outputs.PUSH_TAGS }}
cache-from: | # TODO: From COPY line on is not cached cache-from: | # TODO: From COPY line on is not cached
type=registry,ref=ghcr.io/${{ github.actor }}/aflplusplus/cache:amd64 type=registry,ref=ghcr.io/${{ github.actor }}/aflplusplus/cache:amd64
type=registry,ref=ghcr.io/${{ github.actor }}/aflplusplus/cache:arm64 type=registry,ref=ghcr.io/${{ github.actor }}/aflplusplus/cache:arm64
...@@ -680,7 +680,7 @@ ifneq "$(SYS)" "Darwin" ...@@ -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: ...@@ -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."
......
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/.* // ...@@ -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 ...@@ -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 ...@@ -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: ...@@ -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" ...@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment