Инструмент — простая x86‑программа, которая загружается с диска или USB и скидывает содержимое оперативной памяти прямо на этот носитель. Для загрузки и работы с диском используются только BIOS‑прерывания. Чтобы добраться до памяти выше 1 МБ, программа переключается в unreal mode.
Разрабатывали и тестировали её для cold boot‑атак. Схема такая: заморозить RAM ноутбука до –60 °C, быстро перезагрузить его с флешки с этим кодом — и дамп замороженной памяти сохранится на диск до того, как данные начнут разрушаться. Так можно вытащить ключи шифрования и другую чувствительную информацию.
У программы свой загрузчик — стартует прямо из BIOS (Legacy CSM), никакой ОС не нужно. Для доступа к 32‑битным физическим адресам временно включает unreal mode. Через BIOS INT 0x15 E820 парсит карту памяти — определяет, какие области RAM валидны, чтобы не сбрасывать в дамп зарезервированные участки или MMIO. Запись на диск идёт напрямую через BIOS INT 0x13 AH=0x43 (Extended Write), начиная с LBA 64.
Вся логика разбита на две стадии. stage1.asm — это 512‑байтный загрузочный сектор. Инициализирует сегментные регистры, настраивает стек, через Extended Read (INT 0x13 AH=0x42) грузит stage2 с LBA 1 в память по адресу 0x8000 и передаёт управление на неё. stage2.asm уже делает основную работу: проверяет поддержку EDD, получает карту памяти, вычисляет максимальный размер RAM, потом в цикле по 32 КБ переключается в unreal mode, копирует данные из старшей памяти в буфер 0x90000 и пишет каждый чанк на диск с LBA 64. На экране показывает прогресс в процентах.
Важный момент: данные пишутся прямо на загрузочный диск, начиная с сектора 64. Если на флешке что‑то есть — оно перезапишется. Нужен чистый пустой USB‑накопитель.
Для сборки требуется NASM. На Linux команды: собрать stage1.bin и stage2.bin, потом склеить их в boot.bin. Записывать на флешку через dd (Linux/macOS) или Rufus/Win32DiskImager (Windows). Размер накопителя должен быть не меньше объёма RAM атакуемого компьютера. Затем загружаете целевую машину с этой флешки (обязательно включите Legacy BIOS/CSM) и ждёте, пока на экране появится 100%.