├── config.mk ├── LICENSE ├── Dockerfile ├── Makefile ├── pixload-bmp.1.pod ├── pixload-webp.1.pod ├── pixload-gif.1.pod ├── pixload-png.1.pod ├── pixload-bmp.in ├── pixload-webp.in ├── pixload-gif.in ├── pixload-jpg.1.pod ├── pixload-jpg.in ├── pixload-png.in └── README.md /config.mk: -------------------------------------------------------------------------------- 1 | # pixload version 2 | VERSION = 1.1.1 3 | 4 | # Customize below to fit your system 5 | 6 | # paths 7 | PREFIX = /usr/local 8 | MANPREFIX = $(PREFIX)/share/man 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2019-2023 sighook 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:edge 2 | 3 | RUN apk add --update --no-cache \ 4 | --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \ 5 | --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \ 6 | --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \ 7 | make file perl perl-gd perl-image-exiftool perl-string-crc32 8 | 9 | COPY . /pixload 10 | RUN sed -i '/install .* $(DESTDIR)$(MANPREFIX)/d' /pixload/Makefile && \ 11 | make -C /pixload PREFIX=/usr install && rm -rf /pixload 12 | 13 | WORKDIR /pixload 14 | ENTRYPOINT ["/bin/sh"] 15 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | include config.mk 2 | 3 | MAN = $(subst .1.pod,.1,$(wildcard *.pod)) 4 | SRC = $(MAN:.1=) 5 | 6 | all: $(SRC) $(MAN) 7 | 8 | %: %.in 9 | sed "s/@VERSION@/$(VERSION)/" $< > $@ 10 | 11 | %: %.pod 12 | pod2man --nourls -r $(VERSION) -c ' ' -n $(basename $@) \ 13 | -s $(subst .,,$(suffix $@)) $< > $@ 14 | 15 | install: all 16 | install -m 755 -D -t $(DESTDIR)$(PREFIX)/bin/ $(SRC) 17 | install -m 644 -D -t $(DESTDIR)$(MANPREFIX)/man1/ $(MAN) 18 | 19 | uninstall: 20 | cd $(DESTDIR)$(PREFIX)/bin/ && rm $(SRC) 21 | cd $(DESTDIR)$(MANPREFIX)/man1/ && rm $(MAN) 22 | 23 | clean: 24 | rm -f $(SRC) $(MAN) 25 | 26 | .PHONY: all install uninstall clean 27 | -------------------------------------------------------------------------------- /pixload-bmp.1.pod: -------------------------------------------------------------------------------- 1 | =pod 2 | 3 | =encoding UTF-8 4 | 5 | =head1 NAME 6 | 7 | pixload-bmp - hide payload/malicious code in BMP images 8 | 9 | =head1 SYNOPSIS 10 | 11 | B [I