Sandboxie编译安装指南

最近在研究Sandboxie的沙盒技术。
网上关于编译安装的教程很少,我自己也研究了一两周。

下面整理出了Sandboxie Classic的编译安装步骤。

编译

环境:Windows11专业版 22H2(VMWware运行),Visual Studio 2019, Windows SDK 10.0.19041.0

首先,阅读README指引,自行安装WDK(WDK安装过程就不展示了,一路安装确认就行)。
阅读README,安装WDK
WDK安装完成后,用VS打开Sandboxie项目,打开SboxDrv项目属性,平台工具集选择WindowsKernelModeDriver10.0。其他所有项目选择Visual Studio 2019(v142).
Windows SDK 版本选择10.0.19041.0
设置项目属性
生成解决方案。配置选择SbieRelease,因为驱动在Debug配置下会生成失败。最好x64Win32两种配置的都生成一遍,因为你的沙盒软件会运行64位和32位的软件。

生成解决方案
64位的程序,生成的目录是Sandboxie\Sandboxie\Bin\x64\SbieRelease

签名

此时的程序还不能正常运行,需要对文件进行签名,打包安装

阅读Sandboxie\Sandboxie\install目录下的README。按照指引自行操作(具体过程就不展示了)。

准备安装环境
上述的操作完成后,我们按照github discussions的指引,使用ProcessHackers SignTool进行签名,并关闭Windows的signature checking功能。
github discussion
进入上图中的链接,下载CustomSignTool.exe
下载CustomSignTool.exe
创建私钥。在终端输入:

CustomSignTool.exe createkeypair <your_privatekeyfilename> <your_publickeyfilename>

生成了对应的文件。
生成publicKey privateKey

下面开始create the Sbie installers的第一步,Sign the binaries

sign the binaries
之前有自行安装Sandboxie的话,我们对比Sandboxie安装目录下的文件,得知我们要签名的文件有3个:SbieCtrl.exe, SbieSvc.exe, Start.exe

在终端输入:

CustomSignTool.exe sign -k <your_privatekeyfilename> -s SbieCtrl.exe.sig SbieCtrl.exe

生成了SbieCtrl.exe.sig,大小64字节。
SbieSvc.exeStart.exe重复上述操作。签名步骤就完成了。

禁用数字签名、打开Test Mode

参照知乎回答,windows在禁用数字签名强制检测打开Test Mode情况下,可以运行驱动程序。(我是两者都开了)

如何禁用数字签名强制检测
打开Test Mode,其实就是在cmd输入bcdedit /set testsigning on并重启就行。

生成安装包

接下来执行2~5步就可以了(具体过程就不展示了)。完成了上述步骤,你已经生成了SandboxieInstall64.exe并能安装Sandboxie。如果你需要兼容32和64位,就执行6/7步。

若过程中出现找不到UpdUtil.exe的错误,你需要编译SandboxieTools项目(打开SandboxieTools.sln)。

最后运行SandboxieInstall64.exe,完成安装后,就能运行Sandboxie Classic了。

调试

一般情况下,修改hook相关的功能,只会改动SbieDll.dll。在64位操作系统下,如下图,运行64位程序会加载x64配置的SbieDll.dll,运行32位程序则会加载Win32配置的dll。

把生成的x64配置的SbieDll.dll复制到C:\Program Files\Sandboxie-PlusWin32配置的SbieDll.dll复制到C:\Program Files\Sandboxie-Plus\32
这样,无论64位还是32位的程序,都能加载你修改过的SbieDll.dll

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值