首页
/ Sandboxie Plus项目构建指南:从源码到可执行程序

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核心组件

  1. 打开Sandbox.sln解决方案文件
  2. 选择目标平台和构建类型(Release/Debug)
  3. 特别注意:
    • x64平台需额外构建32位的SbieSvc和SbieDll
    • ARM64平台需构建ARM64EC版本的SbieDll

2. 构建Sandboxie Plus界面组件

  1. 打开Sandboxie-Plus.sln解决方案文件
  2. 选择与核心组件匹配的平台和构建类型
  3. 执行构建

3. 组合构建结果

将两部分构建结果合并,即得到完整的Sandboxie Plus。

测试运行配置

由于未签名的驱动无法在标准Windows环境下运行,需配置测试模式:

  1. 以管理员身份运行命令提示符
  2. 执行bcdedit /set testsigning on
  3. 重启系统
  4. 通过SandMan UI的"Maintenance"菜单一键安装所有组件

测试模式下,驱动会禁用自定义签名验证机制,因此无需为测试构建创建.sig签名文件。

项目组件架构

Sandboxie Plus由多个子项目组成,各司其职:

  1. 核心组件

    • SbieDrv:核心驱动,实现沙盒隔离机制
    • SbieSvc:系统服务,管理沙盒生命周期
    • SbieDll:注入DLL,实现进程隔离
  2. Plus特有组件

    • MiscHelpers:实用工具函数库
    • QSbieAPI:Qt与Sandboxie API的桥梁
    • QtSingleApp:确保单实例运行的Qt组件
    • SandMan:主界面程序
    • SbieShell:Shell扩展组件
    • UGlobalHotkey:全局热键管理

高级功能解锁

构建完成后,可通过在"Global Settings"中输入支持者证书来解锁Plus版专属功能。

构建注意事项

  1. CI工作流可能比本文档更新更快,需关注版本变化
  2. 不同平台(x86/x64/ARM64)需要不同的构建配置
  3. 生产环境部署需解决代码签名问题
  4. Windows 7支持依赖于Qt 5.x版本

通过以上步骤,开发者可以成功构建自定义的Sandboxie Plus版本,为项目贡献代码或进行个性化定制。