
ارتباطات Python لمحاكي Icicle، مما يتيح اختبار fuzzing للبرامج الثابتة بأسلوب الصندوق الرمادي، ومحاكاة الملفات الثنائية، وسير عمل الهندسة العكسية عبر أهداف 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