YACBA/README.md
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

111 lines
3.3 KiB
Markdown
Raw 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.

# YACBA
Полностью автономная система для cold-boot атак с собственным загрузчиком.
## Что это?
Самостоятельная микро-ОС на флешке, которая загружается с нуля и дампит оперативную память. Не зависит от установленной системы на компьютере.
## Архитектура
**Система:**
- `bootloader.asm` - Загрузчик в стиле OpenBSD
- `kernel.c` - Минимальное ядро без зависимостей
- `gdt.asm`, `print32.asm`, `switch_pm.asm` - Системные компоненты
- `linker.ld` - Скрипт компоновки
**Сборка:**
- `Makefile` - Сборка всей системы
- `build.sh` - Нативная сборка Linux
- `docker-build.sh` - Кроссплатформенная сборка
- `build-iso.sh` - Создание ISO образа
**Утилиты:**
- `create_boot_usb.sh` - Прямое создание загрузочной флешки
- `extract_dump.sh` - Извлечение дампа с носителя
**CI/CD:**
- `.gitea/workflows/build.yml` - Автоматическая сборка и релизы
## Принцип работы
1. Загрузчик стартует с MBR (раздел 1 - 10MB)
2. Загружает ядро в память
3. Переключается в защищенный режим
4. Ядро сканирует и дампит память
5. Сохраняет дамп на раздел 2 (RAW, без ФС)
## Сборка
**На Linux:**
```bash
chmod +x build.sh
./build.sh
```
**На macOS/Windows (через Docker):**
```bash
chmod +x docker-build.sh
./docker-build.sh
```
## Создание носителя
**ISO образ (рекомендуется):**
```bash
chmod +x build-iso.sh
./build-iso.sh
# или
make iso
```
**Прямая запись на флешку:**
```bash
sudo ./create_boot_usb.sh /dev/sdX
```
**Через Docker + ISO:**
```bash
make docker-iso
```
Вставить флешку в целевую систему и перезагрузиться. Система загрузится автоматически и начнет дамп.
## Извлечение дампа
После использования:
```bash
sudo ./extract_dump.sh /dev/sdX
```
Скрипт автоматически извлечет дамп и выполнит базовый анализ.
## Использование ISO
**Запись ISO на флешку:**
```bash
sudo dd if=yacba-coldboot-20241222.iso of=/dev/sdX bs=1M status=progress
```
**Тестирование в VM:**
```bash
qemu-system-i386 -cdrom yacba-coldboot-20241222.iso
```
**Запись на CD/DVD:**
```bash
cdrecord -v dev=/dev/sr0 yacba-coldboot-20241222.iso
```
## Автоматическая сборка
Проект поддерживает автоматическую сборку через Gitea Actions:
- При каждом push в main создается артефакт с ISO
- При создании тега автоматически создается релиз
- Артефакты доступны в разделе Actions
## Быстрый старт
См. [QUICK_START.md](QUICK_START.md) для краткой инструкции.