YACBA/build-iso.sh
Lain Iwakura 30f65e05d8
Some checks failed
Build YACBA ISO / build-iso (push) Failing after 1m10s
added ci/cd + iso
2025-06-22 21:51:00 +03:00

87 lines
2.2 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
echo "=== YACBA ISO Builder ==="
# Проверяем наличие os.bin
if [ ! -f "os.bin" ]; then
echo "[-] os.bin не найден. Сначала соберите проект:"
echo " ./build.sh или ./docker-build.sh"
exit 1
fi
if ! command -v genisoimage >/dev/null 2>&1 && ! command -v mkisofs >/dev/null 2>&1; then
echo "[-] Нужен genisoimage или mkisofs"
echo "[*] Ubuntu/Debian: apt install genisoimage"
echo "[*] macOS: brew install cdrtools"
exit 1
fi
ISO_TOOL="genisoimage"
if command -v mkisofs >/dev/null 2>&1; then
ISO_TOOL="mkisofs"
fi
ISO_DIR=$(mktemp -d)
BOOT_DIR="$ISO_DIR/boot"
mkdir -p "$BOOT_DIR"
echo "[*] Подготавливаем ISO структуру..."
cp os.bin "$BOOT_DIR/yacba.bin"
cat > "$BOOT_DIR/isolinux.cfg" << 'EOF'
DEFAULT yacba
LABEL yacba
KERNEL yacba.bin
APPEND
EOF
cat > "$ISO_DIR/README.txt" << 'EOF'
YACBA - Yet Another Cold Boot Attack
Автономная система для cold-boot атак.
Для загрузки:
1. Запишите ISO на CD/DVD/флешку
2. Загрузитесь с носителя
3. Система автоматически начнет дамп памяти
Проект: https://git.iwakurahome.ru/lain/YACBA
EOF
cp extract_dump.sh "$ISO_DIR/" 2>/dev/null || true
cp USAGE.txt "$ISO_DIR/" 2>/dev/null || true
ISO_NAME="yacba-coldboot-$(date +%Y%m%d).iso"
echo "[*] Создаем загрузочный ISO: $ISO_NAME"
$ISO_TOOL -o "$ISO_NAME" \
-b boot/yacba.bin \
-c boot/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-R -J -v -T \
-V "YACBA_COLDBOOT" \
"$ISO_DIR"
rm -rf "$ISO_DIR"
if [ -f "$ISO_NAME" ]; then
echo "[+] ISO образ создан: $ISO_NAME"
echo "[*] Размер: $(ls -lh "$ISO_NAME" | awk '{print $5}')"
echo ""
echo "=== Использование ==="
echo "Запись на флешку:"
echo " sudo dd if=$ISO_NAME of=/dev/sdX bs=1M status=progress"
echo ""
echo "Тест в QEMU:"
echo " qemu-system-i386 -cdrom $ISO_NAME"
echo ""
echo "Запись на CD/DVD:"
echo " cdrecord -v dev=/dev/sr0 $ISO_NAME"
else
echo "[-] Ошибка создания ISO"
exit 1
fi