#!/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