name: Build YACBA ISO on: push: branches: [ main, master ] pull_request: branches: [ main, master ] release: types: [ created ] jobs: build-iso: runs-on: ubuntu-latest steps: - name: Checkout код uses: actions/checkout@v3 - name: Установка зависимостей run: | sudo apt-get update -qq sudo apt-get install -y nasm gcc binutils make genisoimage - name: Проверка инструментов run: | nasm --version gcc --version genisoimage --version - name: Сборка проекта run: | echo "=== Сборка YACBA ===" make clean || true echo "[*] Сборка загрузчика..." nasm -f bin bootloader.asm -o bootloader.bin echo "[*] Сборка ядра..." gcc -m32 -ffreestanding -nostdlib -nodefaultlibs -fno-builtin \ -fno-stack-protector -c kernel.c -o kernel.o echo "[*] Линковка ядра..." ld -m elf_i386 -T linker.ld kernel.o -o kernel.bin echo "[*] Создание образа ОС..." cat bootloader.bin kernel.bin > os.bin truncate -s 1440K os.bin echo "[+] Сборка завершена" ls -la *.bin - name: Создание ISO образа run: | chmod +x build-iso.sh ./build-iso.sh - name: Проверка ISO run: | ls -la *.iso file *.iso - name: Сохранение артефактов uses: actions/upload-artifact@v3 with: name: yacba-iso-${{ github.sha }} path: | *.iso os.bin extract_dump.sh retention-days: 30 - name: Релиз (только для тегов) if: startsWith(github.ref, 'refs/tags/') uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: YACBA ${{ github.ref }} body: | Автоматическая сборка YACBA Cold Boot Attack Tool ## Файлы: - `yacba-coldboot-*.iso` - Загрузочный ISO образ - `extract_dump.sh` - Скрипт извлечения дампа ## Использование: 1. Запишите ISO на CD/DVD/флешку 2. Загрузитесь с носителя на целевой системе 3. Дождитесь завершения дампа 4. Используйте extract_dump.sh для анализа ⚠️ **Только для образовательных целей!** draft: false prerelease: false