Sandboxie编译安装指南
最近在研究Sandboxie的沙盒技术。
网上关于编译安装的教程很少,我自己也研究了一两周。
下面整理出了Sandboxie Classic的编译安装步骤。
编译
环境:Windows11专业版 22H2(VMWware运行),Visual Studio 2019, Windows SDK 10.0.19041.0
首先,阅读README指引,自行安装WDK(WDK安装过程就不展示了,一路安装确认就行)。

WDK安装完成后,用VS打开Sandboxie项目,打开SboxDrv项目属性,平台工具集选择WindowsKernelModeDriver10.0。其他所有项目选择Visual Studio 2019(v142).
Windows SDK 版本选择10.0.19041.0。

生成解决方案。配置选择SbieRelease,因为驱动在Debug配置下会生成失败。最好x64和Win32两种配置的都生成一遍,因为你的沙盒软件会运行64位和32位的软件。

64位的程序,生成的目录是Sandboxie\Sandboxie\Bin\x64\SbieRelease。
签名
此时的程序还不能正常运行,需要对文件进行签名,打包安装。
阅读Sandboxie\Sandboxie\install目录下的README。按照指引自行操作(具体过程就不展示了)。

上述的操作完成后,我们按照github discussions的指引,使用ProcessHackers SignTool进行签名,并关闭Windows的signature checking功能。

进入上图中的链接,下载CustomSignTool.exe。

创建私钥。在终端输入:
CustomSignTool.exe createkeypair
生成了对应的文件。


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

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

在终端输入:
CustomSignTool.exe sign -k -s SbieCtrl.exe.sig SbieCtrl.exe
生成了SbieCtrl.exe.sig,大小64字节。
SbieSvc.exe和Start.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-Plus。Win32配置的SbieDll.dll复制到C:\Program Files\Sandboxie-Plus\32。
这样,无论64位还是32位的程序,都能加载你修改过的SbieDll.dll。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
