
Python-биндинги для эмулятора Icicle, обеспечивающие grey-box фаззинг прошивок, эмуляцию бинарных файлов и рабочие процессы обратной разработки для целей x64 и ARM64.
Этот проект представляет собой простую в использовании обёртку Python для icicle-emu. Подробнее об Icicle можно узнать в статье: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.
Вы можете установить последний релиз из PyPI:
pip install icicle-emu
Примечание: для сборки из исходного кода необходимо установить Rust 1.90 или выше.
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository with submodules
git clone --recursive https://github.com/icicle-emu/icicle-python
cd icicle-python
# Install dependencies and build
uv sync
uv run maturin develop
Папка tests содержит тесты, которые также служат автономными примерами. Добавьте префикс test_ к функции, чтобы она запускалась автоматически:
uv run pytest -v
Кроме того, вы можете выполнить uv run tests/example.py, чтобы запустить/отладить автономный пример.
uv build