Sandboxie Plus项目构建指南:从源码到可执行程序
2025-07-06 01:27:10作者:段琳惟
前言
Sandboxie Plus是一款优秀的Windows沙盒隔离工具,它通过创建隔离环境来运行应用程序,有效防止恶意软件对系统的破坏。本文将详细介绍如何从源码构建Sandboxie Plus,适合希望参与开发或需要自定义构建的技术人员。
环境准备
1. 开发工具安装
Visual Studio 2019是构建Sandboxie Plus的基础,建议使用Community Edition版本。安装时需注意:
- 选择与后续WDK版本匹配的Windows SDK
- 包含C++桌面开发工作负载
- 若已安装VS2019,可通过修改器添加所需SDK
2. Windows驱动开发工具包(WDK)
WDK是构建Sandboxie驱动(SbieDrv)的必备组件:
- 需安装WDK 20xxx版本
- 安装完成后会自动添加VS插件
- 此步骤完成后已具备构建Sandboxie Classic的能力
3. Qt框架安装
Sandboxie Plus的图形界面(SandMan UI)基于Qt框架开发:
- 推荐使用Qt 5.15.15版本(兼容Windows 7)
- 若需构建ARM64版本,则需Qt 6.3.x或更高版本
- 建议通过Qt在线安装器安装,包含:
- Qt核心组件
- 源代码(便于调试)
- 调试符号
- 安装完成后需配置VS的Qt插件
构建过程详解
1. 构建Sandboxie Classic核心组件
- 打开Sandbox.sln解决方案文件
- 选择目标平台和构建类型(Release/Debug)
- 特别注意:
- x64平台需额外构建32位的SbieSvc和SbieDll
- ARM64平台需构建ARM64EC版本的SbieDll
2. 构建Sandboxie Plus界面组件
- 打开Sandboxie-Plus.sln解决方案文件
- 选择与核心组件匹配的平台和构建类型
- 执行构建
3. 组合构建结果
将两部分构建结果合并,即得到完整的Sandboxie Plus。
测试运行配置
由于未签名的驱动无法在标准Windows环境下运行,需配置测试模式:
- 以管理员身份运行命令提示符
- 执行
bcdedit /set testsigning on
- 重启系统
- 通过SandMan UI的"Maintenance"菜单一键安装所有组件
测试模式下,驱动会禁用自定义签名验证机制,因此无需为测试构建创建.sig签名文件。
项目组件架构
Sandboxie Plus由多个子项目组成,各司其职:
-
核心组件:
- SbieDrv:核心驱动,实现沙盒隔离机制
- SbieSvc:系统服务,管理沙盒生命周期
- SbieDll:注入DLL,实现进程隔离
-
Plus特有组件:
- MiscHelpers:实用工具函数库
- QSbieAPI:Qt与Sandboxie API的桥梁
- QtSingleApp:确保单实例运行的Qt组件
- SandMan:主界面程序
- SbieShell:Shell扩展组件
- UGlobalHotkey:全局热键管理
高级功能解锁
构建完成后,可通过在"Global Settings"中输入支持者证书来解锁Plus版专属功能。
构建注意事项
- CI工作流可能比本文档更新更快,需关注版本变化
- 不同平台(x86/x64/ARM64)需要不同的构建配置
- 生产环境部署需解决代码签名问题
- Windows 7支持依赖于Qt 5.x版本
通过以上步骤,开发者可以成功构建自定义的Sandboxie Plus版本,为项目贡献代码或进行个性化定制。