☰
Sandboxie 沙箱环境合并实战:2 套入口、3 个场景全跑通
2026/10/31 1:51:46 网站建设 项目流程

Sandboxie 沙箱环境合并实战:2 套入口、3 个场景全跑通

【免费下载链接】SandboxieSandboxie Plus & Classic项目地址: https://gitcode.com/gh_mirrors/sa/Sandboxie

刚编译完 SbieDrv.sys,下一步就得把它塞进前端调试目录——Sandboxie 的多沙箱环境合并正是干这个的:两条脚本入口,把散在各处的构建产物归到一处,调试归调试、发布归发布。

先分清两个入口的分工

入口管什么
MergeDbg.cmd调试合并:把驱动、服务、注入 DLL 汇总进 SandMan 的调试目录
Installer/merge_builds.cmd发布合并:按 x64 / ARM64 / x86 产出完整安装目录,打安装包用

调试时你只关心"能不能跑起来",发布时你关心"装进目标机缺不缺东西",所以拆成两条线。

按场景走一遍

调试合并:把环境收进一个目录

你拿到什么:各工程独立构建完成,确认三个产物目录有东西——Sandboxie/Bin/x64/SbieRelease/、SandboxiePlus/x64/Debug/、SandboxieTools/x64/Debug/。

你跑什么:在仓库根目录执行一条命令:

.\MergeDbg.cmd

脚本会把SbieDrv.sys、SbieSvc.exe、SbieDll.dll连同Start.exe、kmdutil.exe、ImBox.exe等汇总进SandboxiePlus\x64\Debug\,另建32\子目录放入 Win32 版的SbieDll.dll和SbieSvc.exe,32/64 位混跑就有了着落。

你看什么:

dir SandboxiePlus\x64\Debug\

核心文件齐了,打开 SandMan,底部 Sbie Messages 里 Installation / Data 路径都应指向这个调试目录:

发布合并:一条命令出多架构版本

你拿到什么:三个架构的 Release 产物全部就位,Installer下的 OpenSSL、7-Zip 依赖也已下载(copy_build.cmd 的复制路径都指向它们)。

你跑什么:

cd Installer cmd /c merge_builds.cmd

它会依次调copy_build.cmd x64、copy_build.cmd ARM64、copy_build.cmd x86:每个架构复制 VC 运行库、Qt 库、OpenSSL 动态库和7z.dll,再把 SandMan 全家(SandMan.exe、QSbieAPI.dll、MiscHelpers.dll)与 Sandboxie 驱动、服务、ImBox.exe装进对应的SbiePlus_x64/SbiePlus_a64/SbiePlus_x86安装目录,翻译文件顺手压成 7z。

你看什么:三个安装目录是否齐、每个目录里的SbieDrv.sys与SandMan.exe是否来自同一次构建。

跨架构合并:x86 / x64 / ARM64 怎么流转

不想全量跑时,copy_build.cmd支持单独指定架构,只出一个平台的安装目录:

cmd /c copy_build.cmd x86

注意 32 位组件的流转规则:x64 和 ARM64 版都会额外复制一份 Win32 的SbieSvc.exe、SbieDll.dll到安装目录的32\子目录,ARM64 版还会再带一份64\(ARM64EC)。32 位进程进沙箱时用的就是它们。

合并前后的两道保险

文件归位不等于能用,两道关卡兜底:

  • 数字签名验证:Sandboxie/common/verify.c与Sandboxie/core/drv/verify.h里的签名校验逻辑,驱动和 DLL 加载前会验签名,混入来历不明的文件会直接被打回。
  • 版本兼容性检查:版本号集中在 SandboxiePlus/version.h,前后端组件版本对不上时,运行时会拒绝启动并提示,不用等到运行到一半才发现问题。

卡住时的三板斧 🛠️

  1. 看日志:脚本全程@echo不关,报错都会打在 cmd 窗口,先看具体哪条 copy 失败。
  2. 核对文件完整性:dir一下三个源产物目录,缺文件会直接报"找不到文件",回去重跑对应工程。
  3. 权限:目录被占用或受限就提权再跑:runas /user:Administrator "cmd /c MergeDbg.cmd"。

顺手收藏

  • 更新看 CHANGELOG.md、CHANGELOG_zh_CN.md,合并脚本的行为变更一般会记在上面。
  • 动手合并前,用ImBox.exe给重要沙箱做镜像备份,误操作可直接还原。
  • SandboxiePlus\x64\Debug\会随多次合并越积越大,合并前手动清掉旧文件能省时间;本地复制大文件时给copy加/B参数,能减少缓冲碎片。

【免费下载链接】SandboxieSandboxie Plus & Classic项目地址: https://gitcode.com/gh_mirrors/sa/Sandboxie

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询