
Этот инструмент генерирует мнемонические фразы BIP-39, производные от временных меток Unix, исследуя последствия уязвимости 'Milk Sad' (CVE-2023-39910)
Этот инструмент предназначен для генерации BIP-39 мнемонических фраз (сид-фраз из 24 слов) на основе меток времени Unix, а именно для поиска фраз, которые могли быть сгенерированы через уязвимость «Milk Sad» (CVE_2023-39910).
Генератор мнемонических фраз Milk Sad создаёт 24-словные BIP-39 мнемонические фразы, используя метки времени Unix в качестве источника энтропии. Его цель — сгенерировать все возможные сид-фразы, которые могли быть получены из-за конкретного дефекта сбора энтропии на основе меток времени, связанного с уязвимостью «Milk Sad».
У вас есть два варианта установки и запуска на вашей системе:
install.shЭтот скрипт автоматизирует процесс компиляции и обрабатывает общие зависимости для Linux-систем на базе Debian/Ubuntu.
cd MilkSad-Mnemonic-Generator
chmod +x install.sh
./install.sh
Скрипт проверит наличие необходимых инструментов сборки (таких как g++, make, qmake, libssl-dev, libqt5widgets5-dev). Если каких-либо из них не хватает, он попытается установить их (при необходимости запросив ваш sudo-пароль). После успешной настройки зависимостей он скомпилирует как CLI, так и GUI-приложения и поместит их непосредственно в корневой каталог проекта.Если вы предпочитаете компилировать приложения самостоятельно, выполните следующие ручные шаги:
Убедитесь, что в вашей системе Debian/Ubuntu установлены следующие пакеты разработки:
g++ (обычно входит в пакет build-essential)make (также входит в build-essential)qmake (предоставляется пакетами qt5-qmake или qtbase5-dev)libssl-dev (необходим для криптографических функций, используемых инструментом)libqt5widgets5-dev (требуется для разработки Qt GUI; этот пакет часто включает qtbase5-dev)Вы можете установить эти предварительные требования с помощью:
sudo apt update
sudo apt install build-essential qt5-qmake libssl-dev qtbase5-dev
cd src/cli
g++:
g++ -std=gnu++11 -Wall -Wextra -O2 milk_sad_generator.cpp -o milk_sad_generator -lcrypto -lssl
mv milk_sad_generator ../../
cd ../..
cd src/gui
qmake, чтобы сгенерировать Makefile для проекта Qt:
qmake mnemonic_generator.pro
make:
make
mv milk_sad_generator_gui ../../
cd ../..
Pic/: чтобы GUI правильно находил своё фоновое изображение, необходимо переместить папку Pic/ из src/gui/ в корень проекта:
mv src/gui/Pic .
После установки вы найдёте два исполняемых файла непосредственно в корневом каталоге проекта: ./milk_sad_generator (версия с интерфейсом командной строки) и ./milk_sad_generator_gui (версия с графическим интерфейсом).
./milk_sad_generator_gui # To launch the GUI application
# OR
./milk_sad_generator # To launch the CLI application
Этот режим генерирует одну 24-словную мнемоническую фразу для точной даты и времени, которые вы укажете.
1970-01-01 00:00:00 для первой метки времени. Если выбран английский, будет сгенерирована мнемоника «milk sad ...».mnemonic_[language].txt.Этот режим генерирует мнемоники для каждой метки времени в указанном диапазоне дат начала и окончания.
2017-01-01:2018-12-31 (это сгенерирует мнемоники для всех меток времени с 1 января 2017 года по 31 декабря 2018 года включительно.)mnemonics_range_[language].txt.Ctrl+C) и позже возобновить её без потери прогресса.Этот режим генерирует все возможные мнемоники во всём 32-битном диапазоне меток времени Unix (с 1 января 1970 года по 19 января 2038 года).
all_mnemonics_[language].txt.mnemonic_[language].txtmnemonics_range_[language].txtall_mnemonics_[language].txtgeneration_progress_range.bin (для Варианта 2) / generation_progress_full.bin (для Варианта 3)Ctrl+C. Инструмент автоматически сохранит текущий прогресс..bin будет автоматически удалён.Если вам пришлось остановить процесс генерации (например, с помощью Ctrl+C), вы можете без проблем возобновить его с того места, где остановились:
generation_progress_range.bin и продолжит генерацию с последней сохранённой метки времени.