feat: add support for armv7

- Updated .goreleaser.yaml to include armv7 builds.
- Added new shellcode payloads for armv7l
- Enhanced build-n-print.sh to support building payloads for armv7l architecture.
- Updated README.md with instructions for compiling payloads on Debian systems.
This commit is contained in:
kernel-sanders 2026-04-30 23:23:45 -04:00
parent 131f7d1842
commit 9f4e4936ec
6 changed files with 140 additions and 3 deletions

View file

@ -25,7 +25,7 @@ if ! command -v aarch64-linux-gnu-as &> /dev/null; then
exit 1
fi
for payload in *.S; do
for payload in *aarch64.S; do
# Assemble the source into an object file
echo "[+] Building $payload"
aarch64-linux-gnu-as $payload -o ${payload%.S}.o
@ -34,4 +34,20 @@ for payload in *.S; do
aarch64-linux-gnu-objcopy -O binary ${payload%.S}.o ${payload%.S}
echo "[+] Printing $payload as hex"
cat ${payload%.S} | python3 -c 'import sys, zlib; print(zlib.compress(sys.stdin.buffer.read()).hex())'
done
done
if ! command -v arm-linux-gnueabihf-as &> /dev/null; then
echo "[!] arm-linux-gnueabihf-as could not be found. Please install binutils-arm-linux-gnueabihf"
exit 1
fi
for payload in *armv7l.S; do
# Assemble the source into an object file
echo "[+] Building $payload"
arm-linux-gnueabihf-as $payload -o ${payload%.S}.o
# Extract ONLY the raw bytes into a flat binary file
echo "[+] Extracting $payload as binary"
arm-linux-gnueabihf-objcopy -O binary ${payload%.S}.o ${payload%.S}
echo "[+] Printing $payload as hex"
cat ${payload%.S} | python3 -c 'import sys, zlib; print(zlib.compress(sys.stdin.buffer.read()).hex())'
done