Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
bochscpu-python — Python bindings for BochsCPU | Kitploit
工具/GitHubGitHub/hugsy/bochscpu-python
Dynamic Analysis (Sandboxing)Reverse EngineeringMalware AnalysisBinary Analysis
GitHubhugsy/bochscpu-python

bochscpu-python

Python bindings for BochsCPU

查看仓库
3941年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

logo3

bochscpu-python

Python 3.8+ Downloads Code style: black Licence MIT Builds

Python 绑定,用于 @yrp 的 BochsCPU,通过 FFI 轻松且精确地模拟 x86 代码。

安装

bochscpu-python 仅需要 Python 3.8 或更高版本的环境。

通过 PyPI 安装(推荐)

到目前为止,最简单的上手方式是使用 PyPI 上的稳定打包版本。

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

通过生成的构建产物

从仓库的 GitHub Actions 标签页下载最新的可用构建产物。解压 ZIP 文件,安装 wheel 文件夹中的 .whl 文件。

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 的编译器(已在 Windows 的 cl、macOS 的 clang++ 和 Linux 的 g++ 上测试)

步骤

  • 按照各自页面上的说明构建 BochsCPU、BochsCPU-FFI 和 BochsCPU-Build
  • ... 或者,Windows 和 Linux 的 BochsCPU-FFI 库目标文件可以从 build 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 会话,将 CPU 状态设置为实模式,并预先用基本回调填充钩子(这些回调仅在执行时执行 print)。请注意,这个示例实际上什么也不会做,因为我们尚未分配代码页,也没有正确设置寄存器来指向它。

更完整的模板可以在examples/ 文件夹中找到。

示例

在 x64 长模式下模拟 Fibonascii 序列

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

代码

模拟来自 Windows 11 x64 内存转储的代码

image

代码

在 16 位实模式下模拟类似 print("hello world") 的汇编代码

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

代码

在 x64 上模拟 Linux Glibc 的 rand() 函数

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

代码

尽情享受吧 🍻

下载工具