
Binding Python per l'emulatore Icicle, che abilitano il fuzzing grey-box del firmware, l'emulazione binaria e i flussi di lavoro di reverse engineering su target x64 e ARM64.
Questo progetto è un wrapper Python facile da usare attorno a icicle-emu. Puoi leggere di più su Icicle nel paper: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.
Puoi installare la versione più recente da PyPI:
pip install icicle-emu
Nota: è necessario installare Rust 1.90 o superiore per compilare dai sorgenti.
# 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
La cartella tests contiene test che fungono anche da esempi autonomi. Aggiungi il prefisso test_ a una funzione per eseguirla automaticamente:
uv run pytest -v
In alternativa puoi usare uv run tests/example.py per eseguire/debuggare l'esempio autonomo.
uv build