Sandboxie Classic 项目构建指南:从源码到可执行文件
2025-07-06 01:24:19作者:卓炯娓
前言
Sandboxie Classic 是一款广受欢迎的应用程序沙盒工具,它通过在隔离环境中运行程序来保护系统安全。本文将详细介绍如何从源代码构建 Sandboxie Classic,帮助开发者理解其架构并掌握构建过程。
构建环境准备
开发工具要求
构建 Sandboxie Classic 需要以下开发工具:
- Visual Studio 2019:提供最佳的兼容性支持,可构建适用于 Windows 7 至 Windows 11 的驱动程序
- Windows 10 SDK 10.0.19041:包含在"使用C++的桌面开发"工作负载中
- MFC支持:需要安装"MFC for latest v142 build tools {architecture}"组件
- Windows Driver Kit (WDK) 10.0.19041:用于驱动程序开发
环境配置步骤
- 安装 Visual Studio 2019 并选择"使用C++的桌面开发"工作负载
- 单独添加MFC组件支持
- 下载并安装指定版本的WDK
- 如需构建其他平台版本,安装对应的构建工具组件
项目结构解析
Sandboxie Classic 采用模块化设计,主要分为核心组件和辅助工具两大类。
核心组件
- SbieDrv:内核模式驱动程序,负责系统级别的隔离操作
- SbieSvc:系统服务,管理沙盒的运行状态
- SbieDll:注入DLL,负责将用户模式进程重定向到沙盒环境
辅助工具
- SbieCtrl.exe:主控制界面,显示沙盒内应用程序活动
- start.exe:用于在沙盒中启动进程
- SbieIni.exe:配置管理工具,用于修改sandboxie.ini文件
详细构建流程
解决方案配置
- 打开源代码根目录下的Sandbox.sln解决方案文件
- 确保解决方案平台工具集设置为10.0.19041
- 如果安装了VS2022,可能需要手动重定向解决方案
构建顺序注意事项
- 对于x64构建,必须首先编译
Solution/core/LowLevel
项目的Win32(x86)版本 - 核心组件应先于辅助工具构建
- 安装程序(SandboxieInstall)需要单独构建,不在常规解决方案构建流程中
关键项目解析
核心功能模块
- LowLevel.dll:代码注入基础库,嵌入到SbieSvc.exe中作为资源
- SboxHostDll.dll:特定应用程序(如MS Office)的主机注入DLL
- SboxMsg.dll:多语言用户消息资源
系统服务组件
- SandboxieRpcSs.exe:远程过程调用子系统包装器
- SandboxieWUAU.exe:Windows自动更新服务包装器
- SandboxieDcomLaunch.exe:DCOM启动服务包装器
构建问题排查
- WDK扩展未自动安装:可手动安装位于<Windows Kits目录>\10\Vsix\VS2019的扩展
- 平台工具集版本冲突:确保使用10.0.19041版本
- x64构建失败:检查是否已先构建x86版本的LowLevel项目
结语
通过本文的指导,开发者可以全面了解Sandboxie Classic的架构设计,并成功构建完整的项目。理解各组件的作用和依赖关系,有助于进行二次开发或定制化修改。Sandboxie Classic的模块化设计展现了优秀的软件工程实践,值得安全软件开发者深入研究。