
Python-Bindings für den Icicle-Emulator, die Grey-Box-Firmware-Fuzzing, Binäremulation und Reverse-Engineering-Workflows für x64- und ARM64-Ziele ermöglichen.
Dieses Projekt ist ein einfach zu verwendender Python-Wrapper um icicle-emu. Mehr über Icicle kannst du im Paper lesen: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.
Du kannst die neueste Version von PyPI installieren:
pip install icicle-emu
Hinweis: Du musst Rust 1.90 oder höher installieren, um aus dem Quellcode zu bauen.
# 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
Der Ordner tests enthält Tests, die zugleich als eigenständige Beispiele dienen. Stelle einer Funktion test_ voran, um sie automatisch auszuführen:
uv run pytest -v
Alternativ kannst du uv run tests/example.py ausführen, um das eigenständige Beispiel auszuführen/zudebuggen.
uv build