~fincham/static-binary-zoo

c550b1e06ae988587ed7897ec01a37b4e90fa454 — Michael Fincham 7 months ago a6e0c33 main
Add DoI's fuzzotron
3 files changed, 31 insertions(+), 1 deletions(-)

A Dockerfile.fuzzotron-09b7046
M Makefile
M README.md
A Dockerfile.fuzzotron-09b7046 => Dockerfile.fuzzotron-09b7046 +24 -0
@@ 0,0 1,24 @@
ARG MUSL_TARGET=x86_64-linux-musl
FROM openssl-1.1.1k-${MUSL_TARGET} AS openssl
FROM pcre-8.45-${MUSL_TARGET} AS pcre
FROM musl-cross-make-${MUSL_TARGET}
ARG MUSL_TARGET

COPY --from=openssl /output /output
COPY --from=pcre /output /output

WORKDIR /build
RUN download https://github.com/denandz/fuzzotron/archive/09b70461f6bcefac47ca9d43612209e68a7450aa.tar.gz source.tar.gz e994aef759e4091e85bcb41071be62c65e295647bca87e2de7d9b7a6dce700ac && tar xf source.tar.gz
RUN export PATH=/build/cross/bin:$PATH && \
cd fuzzotron-* && \
sed -e 's/^LIBS = .*/LIBS = -lpcre -lssl -lcrypto -lpthread/' -i Makefile && \
CC="${MUSL_TARGET}-gcc -static -frandom-seed=pulse -I/output/include" \
LDFLAGS="-L/output/lib" \
make -j$(nproc) fuzzotron replay && \
mkdir -p /output/bin && \
cp replay /output/bin/replay && \ 
cp fuzzotron /output/bin/fuzzotron && \
$MUSL_TARGET-strip /output/bin/fuzzotron && \
$MUSL_TARGET-strip /output/bin/replay

CMD bash

M Makefile => Makefile +6 -1
@@ 4,7 4,7 @@ UNAME_M := $(shell uname -m)
DOCKER_BUILD = docker build --build-arg MUSL_TARGET=$(MUSL_TARGET) -f Dockerfile.$@ -t $@-$(MUSL_TARGET) .
GRABBY_HANDS = docker run --rm --mount type=bind,source=$(shell pwd)/output/$(MUSL_TARGET),target=/grabby $@-$(MUSL_TARGET) install -g $(shell id -g) -o $(shell id -u) 

all: busybox-1.33.1 curl-7.79.1 dropbear-2020.81 loggedfs-0.9 ngrep-2a9603b nmap-7.90 openssl-1.1.1k parted-3.4 socat-1.7.4.1 tcpdump-4.99.1
all: busybox-1.33.1 curl-7.79.1 dropbear-2020.81 loggedfs-0.9 ngrep-2a9603b nmap-7.90 openssl-1.1.1k parted-3.4 socat-1.7.4.1 tcpdump-4.99.1 strace-6.1 fuzzotron-09b7046

check:
	@echo "These binaries are not built properly:"


@@ 82,6 82,11 @@ socat-1.7.4.1: openssl-1.1.1k readline-8.1
	$(DOCKER_BUILD)
	$(GRABBY_HANDS) /output/bin/socat /grabby/$@

fuzzotron-09b7046: openssl-1.1.1k pcre-8.45
	$(DOCKER_BUILD)
	$(GRABBY_HANDS) /output/bin/replay /grabby/replay-09b7046
	$(GRABBY_HANDS) /output/bin/fuzzotron /grabby/fuzzotron-09b7046

nmap-7.90: libpcap-1.10.1 openssl-1.1.1k pcre-8.45 zlib-1.2.11 
	$(DOCKER_BUILD)
	$(GRABBY_HANDS) /output/bin/nmap /grabby/$@

M README.md => README.md +1 -0
@@ 26,6 26,7 @@ These are the tools that build cleanly without too many caveats and are generall
* `busybox-1.33.1`
* `curl-7.79.1`
* `dropbear-2020.81` (`dropbear`, `dropbearclient` and `dropbearkey`)
* `fuzzotron-09b7046 (`fuzzotron` and `replay`)
* `loggedfs-0.9`
* `ngrep-2a9603b`
* `nmap-7.90` (some extra functionality is missing as it requires additional data files)