当我看到Sandboxie在硬盘上创建一个虚拟空间时,允许程序写入。 sanboxie image
这怎么可以作为软件实现? 需要覆盖哪些窗口(内核,shell?)函数?
答案 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:
文件系统过滤器驱动程序拦截 针对文件系统的请求或 另一个文件系统筛选器驱动通过 在它面前拦截请求 到达预定的目标, 过滤器驱动可以扩展或替换 原始提供的功能 请求的目标。