禁用特定进程的注册表访问(WinAPI)

Jos*_*eph 6 c c++ winapi

我有一个问题,我似乎无法找到答案,虽然我确信它在那里.有没有办法可以禁用新创建的进程的注册表和文件访问?我正在使用Job对象(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682409(v=vs.85).aspx),它说要为每个新的作业进程设置权限,在一些书中,我读过可以控制注册表和文件访问等内容.

在寻找我的答案时,我看到我需要为诸如SE_BACKUP_NAME之类的东西(或其他任何东西)添加LUID,但这些特权常量似乎都没有反映出我想要的那种控制.所以我的确切问题是:如何禁用作业中新创建的进程的注册表/文件写入权限?

我正在尝试创建一个沙盒应用程序,顺便说一句.这样我就可以阻止它在注册表中进行任何更改或在运行时编写任何文件.

任何帮助,将不胜感激!

arx*_*arx 4

Windows 在进程启动期间访问许多资源,因此,如果您成功禁用对文件系统和注册表的访问,则该进程将不会启动。

理想情况下,您希望在进程初始化完成后限制访问,但 Windows 没有针对任意进程执行此操作的机制。Chrome浏览器中的沙箱依赖于沙箱进程的配合。

Chrome 沙箱的文档很好地概述了 Windows 中可用的各种安全机制,并解释了如何在 Chrome 中使用它们。如果您尝试对自己的代码进行沙箱处理,这是一个很好的解决方案。