我想对本机代码进行沙箱处理,并使用 WinAPI 和系统函数的挂钩来阻止或允许该程序执行一些操作,例如读取/写入文件、修改 Windows 注册表、使用 Internet 连接。这是一种好的和安全的方式吗?该程序绕过这样的安全层有多难?
问问题
953 次
3 回答
3
我已经检查了您的问题,它们都与从一开始就似乎无效的任务有关,原因如下:您正在尝试保护一个应用程序并且您准备为此重新发明轮子。有几种方法(和许多现成的解决方案)可以解决您的问题。因此,您需要查看现有解决方案,而不是编码。
方法是:
- 使用 Windows 权限来限制您的应用程序对资源的访问
- 采取 VMWare 或 Parallels 或其他虚拟化平台并在那里运行您的程序
- 使用沙盒 SDK(例如 BoxedApp)并“包装”您的应用程序。
于 2011-01-03T08:09:28.790 回答
1
防病毒应用程序试图解决几乎相同的问题,但收效甚微。
1. 你永远不会知道如何使用最常见的操作。
2. 有系统调用,所以程序完全不用winapi。
于 2011-01-02T22:01:54.017 回答
1
+1 给 Hans,但是如果你真的喜欢它,那么我可以推荐Easyhook。我亲自在 Win XP、Vista 和 7 中成功使用过它。我不知道它的可绕过性如何,但确实存在其他替代方案 - madSHI 挂钩,如果您想采用官方方式,请尝试 Microsoft 的 Detours。
于 2011-01-02T22:03:29.227 回答