如何实现Sandboxie

时间:2010-11-06 22:34:31

标签: winapi shell kernel

当我看到Sandboxie在硬盘上创建一个虚拟空间时,允许程序写入。 sanboxie image

这怎么可以作为软件实现? 需要覆盖哪些窗口(内核,shell?)函数?

2 个答案:

答案 0 :(得分:4)

像Sandboxie这样的软件基本上为(沙盒)应用程序提供虚拟执行环境。他们通过虚拟化文件系统和注册表(读/写/删除/执行操作)等来实现这一点。它们也被称为羽毛级虚拟机,因为它们为各个应用程序提供类似环境的虚拟机。您可以参考这些页面获取更多信息:
http://sourceforge.net/projects/fvm-rni/(开源应用)
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74.1367&rep=rep1&type=pdf(纸)
http://www.ecsl.cs.sunysb.edu/tr/TR224.pdf(纸)

答案 1 :(得分:0)

我不知道Sandboxie是如何做到的,但通常的方法是通过File System Filter Drivers

  

文件系统过滤器驱动程序拦截   针对文件系统的请求或   另一个文件系统筛选器驱动通过   在它面前拦截请求   到达预定的目标,   过滤器驱动可以扩展或替换   原始提供的功能   请求的目标。