首页
/ Sandboxie Classic 项目构建指南:从源码到可执行文件

Sandboxie Classic 项目构建指南:从源码到可执行文件

2025-07-06 01:24:19作者:卓炯娓

前言

Sandboxie Classic 是一款广受欢迎的应用程序沙盒工具,它通过在隔离环境中运行程序来保护系统安全。本文将详细介绍如何从源代码构建 Sandboxie Classic,帮助开发者理解其架构并掌握构建过程。

构建环境准备

开发工具要求

构建 Sandboxie Classic 需要以下开发工具:

  1. Visual Studio 2019:提供最佳的兼容性支持,可构建适用于 Windows 7 至 Windows 11 的驱动程序
  2. Windows 10 SDK 10.0.19041:包含在"使用C++的桌面开发"工作负载中
  3. MFC支持:需要安装"MFC for latest v142 build tools {architecture}"组件
  4. Windows Driver Kit (WDK) 10.0.19041:用于驱动程序开发

环境配置步骤

  1. 安装 Visual Studio 2019 并选择"使用C++的桌面开发"工作负载
  2. 单独添加MFC组件支持
  3. 下载并安装指定版本的WDK
  4. 如需构建其他平台版本,安装对应的构建工具组件

项目结构解析

Sandboxie Classic 采用模块化设计,主要分为核心组件和辅助工具两大类。

核心组件

  1. SbieDrv:内核模式驱动程序,负责系统级别的隔离操作
  2. SbieSvc:系统服务,管理沙盒的运行状态
  3. SbieDll:注入DLL,负责将用户模式进程重定向到沙盒环境

辅助工具

  • SbieCtrl.exe:主控制界面,显示沙盒内应用程序活动
  • start.exe:用于在沙盒中启动进程
  • SbieIni.exe:配置管理工具,用于修改sandboxie.ini文件

详细构建流程

解决方案配置

  1. 打开源代码根目录下的Sandbox.sln解决方案文件
  2. 确保解决方案平台工具集设置为10.0.19041
  3. 如果安装了VS2022,可能需要手动重定向解决方案

构建顺序注意事项

  1. 对于x64构建,必须首先编译Solution/core/LowLevel项目的Win32(x86)版本
  2. 核心组件应先于辅助工具构建
  3. 安装程序(SandboxieInstall)需要单独构建,不在常规解决方案构建流程中

关键项目解析

核心功能模块

  1. LowLevel.dll:代码注入基础库,嵌入到SbieSvc.exe中作为资源
  2. SboxHostDll.dll:特定应用程序(如MS Office)的主机注入DLL
  3. SboxMsg.dll:多语言用户消息资源

系统服务组件

  1. SandboxieRpcSs.exe:远程过程调用子系统包装器
  2. SandboxieWUAU.exe:Windows自动更新服务包装器
  3. SandboxieDcomLaunch.exe:DCOM启动服务包装器

构建问题排查

  1. WDK扩展未自动安装:可手动安装位于<Windows Kits目录>\10\Vsix\VS2019的扩展
  2. 平台工具集版本冲突:确保使用10.0.19041版本
  3. x64构建失败:检查是否已先构建x86版本的LowLevel项目

结语

通过本文的指导,开发者可以全面了解Sandboxie Classic的架构设计,并成功构建完整的项目。理解各组件的作用和依赖关系,有助于进行二次开发或定制化修改。Sandboxie Classic的模块化设计展现了优秀的软件工程实践,值得安全软件开发者深入研究。