1.沙盒编译说明
请注意:在\install\文件夹中有另一个ReadMe.txt解释了如何创建沙盒安装程序。在MS Visual Studio 2015下构建沙盒。
安装MS Windows Device Driver Kit (DDK) 7.1.0。https://www.microsoft.com/en-us/download/details.aspx?id=11800在DDK设置中,所有您需要检查的是“构建环境”,VS解决方案文件,沙盒。Sln,是在源代码的根。在Visual Studio中打开这个SLN。作者下载的源码包里构建说明如下:
1)在MS Visual Studio 2019下构建沙盒。
2)安装Windows 10 2004版的Windows Driver Kit (WDK):
https://go.microsoft.com/fwlink/?linkid=2128854
- VS解决方案文件,Sandbox.Sln,是在源代码的根目录下。在Visual Studio中打开这个SLN。
2.源项目模块说明
注:Sandboxie的核心是驱动、SbieDrv、服务、SbieSvc和注入DLL、SbieDll。首先研究这些项目。
目录Common(\apps\common)。编译common.lib,它由Control和Start项目使用。它包含一些常见的GUI对象。
目录KmdUtil(\install\kmdutil)。生成安装过程中使用的KmdUtil.exe。例如,启动/停止Sbie驱动程序(SbieDrv.sys)。
目录LowLevel(\core\low)。创建用于代码注入的LowLevel.dll。LowLevel.dll作为资源嵌入到SbieSvc.exe中(参见core\svc\lowlevel.rc)。Rc获取更多信息)。
目录Parse(\msgs)。创建Sbie消息文件。
目录SandboxBITS(apps\com\BITS)。创建SandboxieBITS.exe(后台智能传输服务)。
目录SandboxCrypto(apps\com\Crypto)。创建SandboxieCrypto.exe。
目录SandboxieInstall(\install\release)。通过将x64和x86安装程序二进制文件合并到RC文件中,创建组合的x64/x86安装程序目录SandboxieInstall.exe。注意:SandboxieInstall不是在正常的SLN构建期间构建的。它必须在x64和x86安装程序完成后手动构建。
目录SandboxRpcSs(\apps\com\RpcSs)。为远程过程调用子系统创建Sbie的包装器SandboxieRpcSs.exe。
目录SandboxWUAU(\apps\com\WUAU)。创建SandboxieWUAU.exe, Sbie的Windows自动更新服务(WUAUSERV)包装器。
目录SbieControl(\apps\control)。构建SbieCtrl.exe,显示实时沙盒应用程序活动的沙盒控制应用程序。
目录SbieIni(\apps\ini)。创建SbieIni.exe,一个用于查询和更新sandbox .ini配置文件的工具。
目录SboxDcomLaunch(\apps\com\DcomLaunch)。创建SandboxieDcomLaunch.exe
目录SboxDll(\core\dll)。创建Sbie注入DLL。这个DLL注入到沙盒中运行的每个进程中。
目录SboxDrv(\core\drv)。创建Sbie内核模式驱动程序。
目录SboxHostDll(\SboxHostDll)。构建Sbie主机注入DLL。这个DLL被注入到必须重定向到沙箱的主机进程中。目前,唯一使用这个功能的应用程序是MS Office。SboxHostDll.dll注入到OfficeClickToRun.exe中。
目录SboxMsg(\msgs)。创建SboxMsg.dll,其中包含各种语言的Sbie用户消息。
目录SboxSvc(\core\svc)。创建Sbie服务。
目录Start(\apps\start)。创建start.exe,用于启动沙箱中的进程。
3.作者答疑
如有疑问,敬请留言。