Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
bochscpu-python — Python-привязки для BochsCPU | Kitploit
Инструменты/GitHubGitHub/hugsy/bochscpu-python
Динамический анализ (песочница)Обратная инженерияАнализ вредоносных программАнализ Бинарных Файлов
GitHubhugsy/bochscpu-python

bochscpu-python

Python-привязки для BochsCPU

Репозиторий
39431 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

logo3

bochscpu-python

Python 3.8+ Downloads Code style: black Licence MIT Builds

Python-привязки для BochsCPU от @yrp с использованием FFI, позволяющие легко и точно эмулировать код x86.

Установка

bochscpu-python требует только окружение Python 3.8 или новее.

Через PyPI (рекомендуется)

Самый простой способ запустить всё — использовать стабильную упакованную версию на PyPI

root@kitploit:~
python -m pip install bochscpu-python

Через готовые сборки

Скачайте последний рабочий артефакт со вкладки GitHub Actions репозитория. Распакуйте ZIP-файл и установите .whl-файл из папки wheel.

root@kitploit:~
python -m pip install wheel/bochscpu-$version-$os-$arch.whl

Из исходного репозитория

Довольно просто:

root@kitploit:~
python -m pip install .

Или без клонирования

root@kitploit:~
python -m pip install git+https://github.com/hugsy/bochscpu-python.git#egg=bochscpu-python

Обратите внимание, что этот подход потребует установки всех необходимых инструментов сборки (описано ниже)

Сборка

Требования

  • Python 3.8+ (с комплектом разработчика)
  • cmake
  • pip
  • компилятор, совместимый с C++20 (проверено: cl для Windows, clang++ для macOS и g++ для Linux)

Шаги

  • Соберите BochsCPU, BochsCPU-FFI и BochsCPU-Build, следуя инструкциям на их соответствующих страницах
  • ... Либо объектные файлы библиотек BochsCPU-FFI для Windows и Linux можно скачать из сборки в GitHub Actions
  • Переместите файлы *.lib в bochscpu/lib/<BuildType> (где BuildType может быть Debug, Release, RelWithDebInfo и т.д.)
  • Установите зависимости: python -m pip install -r requirements.txt
  • Соберите с помощью cmake Это создаст файл bochscpu pyd (и его PDB), который можно импортировать из сессии Python с помощью import bochscpu.
  • ... Либо можно также сгенерировать .whl из корня проекта:
root@kitploit:~
python -m pip wheel .

Использование

Просто импортируйте модуль bochscpu — и вперёд! Установка пакета также установит файлы интерфейсов, что позволит современным IDE (VSCode, PyCharm и т.д.) предлагать полезные автодополнения.

Очень простой шаблон можно составить так:

root@kitploit:~
import bochscpu, bochscpu.utils, bochscpu.cpu

sess = bochscpu.Session()
sess.missing_page_handler = bochscpu.utils.callbacks.missing_page_cb
state = bochscpu.State()
bochscpu.cpu.set_real_mode(state)
hook = bochscpu.Hook()
bochscpu.utils.callbacks.install_default_callbacks(hook)
sess.run([hook,])

Это создаст сессию bochscpu, установит состояние ЦП для реального режима и заполнит хуки базовыми колбэками (которые при выполнении лишь вызывают print). Обратите внимание, что этот пример ничего не сделает, поскольку мы не выделили страницы кода и не настроили регистры, указывающие на него.

Более полный шаблон можно найти в examples/

Некоторые примеры

Эмуляция последовательности Фибоначчи в x64 длинном режиме

https://github.com/hugsy/bochscpu-python/assets/590234/adc5ac5a-a8eb-4982-9537-5ece3f32f8f8

Код

Эмуляция кода из дампа памяти Windows 11 x64

image

Код

Эмуляция ассемблерного кода, похожего на print("hello world"), в 16-битном реальном режиме

https://github.com/hugsy/bochscpu-python/assets/590234/eb06af06-4b10-490e-ae40-a1d0aed333ca

Код

Эмуляция функции rand() из Linux Glibc на x64

https://github.com/hugsy/bochscpu-python/assets/590234/2486adbc-0878-46f5-83ed-3bcf9774fd26

Код

Приятного использования 🍻

Скачать инструмент