Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

icicle-emu/icicle-python

Repository files navigation

icicle-python

This project is an easy-to-use Python wrapper around icicle-emu. You can read more about Icicle in the paper: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.

Installation

You can install the latest release from PyPI:

pip install icicle-emu

Development

Note: You need to install Rust 1.90 or higher to build from source.

Install uv

# 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

Build the project

# 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

Running tests

The tests folder contains tests that double as standalone examples. Prefix a function with test_ to automatically run it:

uv run pytest -v

Alternatively you can uv run tests/example.py to run/debug the standalone example.

Building a wheel

uv build

AltStyle によって変換されたページ (->オリジナル) /