Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
bochscpu-python — Python bindings for BochsCPU | Kitploit
Outils/GitHubGitHub/hugsy/bochscpu-python
Dynamic Analysis (Sandboxing)Reverse EngineeringMalware AnalysisBinary Analysis
GitHubhugsy/bochscpu-python

bochscpu-python

Python bindings for BochsCPU

Voir le dépôt
394il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

logo3

bochscpu-python

Python 3.8+ Downloads Code style: black Licence MIT Builds

Bindings Python pour le BochsCPU d'@yrp, utilisant la FFI pour émuler facilement et avec précision du code x86.

Installation

bochscpu-python requiert uniquement un environnement Python 3.8 ou plus récent.

Via PyPI (recommandé)

De loin le moyen le plus simple de démarrer est d'utiliser la version stable empaquetée sur PyPI.

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

Via les builds générés

Téléchargez le dernier artefact fonctionnel depuis l'onglet Github Actions du dépôt. Extrayez le fichier ZIP, puis installez le fichier .whl situé dans le dossier wheel.

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

Depuis le dépôt source

Assez simple :

root@kitploit:~
python -m pip install .

Ou sans cloner :

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

Notez que cette approche nécessitera d'avoir installé tous les outils de compilation nécessaires (comme décrit ci-dessous).

Compilation

Prérequis

  • Python 3.8+ (avec kit de développement)
  • cmake
  • pip
  • un compilateur compatible C++20 (testé avec cl sous Windows, clang++ sous MacOS et g++ sous Linux)

Étapes

  • Compilez BochsCPU, BochsCPU-FFI, et BochsCPU-Build en suivant les instructions sur leurs pages respectives
  • ... Sinon, les fichiers objets des bibliothèques BochsCPU-FFI pour Windows et Linux peuvent être téléchargés depuis les Github Actions build
  • Placez les *.lib dans bochscpu/lib/<BuildType> (où BuildType peut être Debug, Release, RelWithDebInfo, etc.)
  • Installez les dépendances : python -m pip install -r requirements.txt
  • Compilez avec cmake Cela générera le fichier bochscpu pyd (et son PDB) que vous pouvez importer depuis une session Python avec import bochscpu.
  • ... Sinon, vous pouvez également générer un .whl depuis la racine du projet :
root@kitploit:~
python -m pip wheel .

Utilisation

Importez simplement le module bochscpu et que l'aventure commence ! L'installation du paquet installera également des fichiers d'interface, permettant aux IDE modernes (VSCode, PyCharm, etc.) de proposer de l'autocomplétion utile.

Un gabarit très rudimentaire peut être réalisé comme suit :

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,])

Cela créera une session bochscpu, définira l'état du CPU en mode réel, et pré-remplira les hooks avec des callbacks de base (qui ne font qu'un print à l'exécution). Notez que cet exemple ne fera en réalité rien, car nous n'avons pas alloué de pages de code ni défini correctement les registres pour y pointer.

Un gabarit plus complet se trouve dans le dossier examples/.

Quelques Exemples

Émuler une suite Fibonascii en mode long x64

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

Code

Émuler du code provenant d'un dump mémoire Windows 11 x64

image

Code

Émuler un code assembleur similaire à print("hello world") en mode réel 16 bits

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

Code

Émuler la fonction rand() de la Glibc Linux sur x64

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

Code

Profitez-en 🍻

Télécharger l’outil