我想打磨本机代码,并使用winapi和系统功能的挂钩来阻止或允许此程序执行一些操作,例如使用Internet连接进行阅读/写作文件,修改Windows注册表。这是一个好的和安全的方法吗?该程序绕过这样的安全层有多困难?

有帮助吗?

解决方案

+1给汉斯,但是如果您真的很喜欢,我可以推荐 Easyhook. 。我亲自在Win XP,Vista和7中成功使用了它。我不知道它是如何绕开的,但是其他替代方案确实存在 - Madshi Hooks,如果您想采取官方方式,请尝试从Microsoft绕道。

其他提示

我已经检查了您的问题,它们都与从一开始似乎无效的任务有关,这就是为什么:您正在尝试确保一个应用程序,并准备为此重新发明轮子。存在几种方法(以及许多现成的解决方案)来解决您的问题。因此,您不需要查看现有解决方案。

方法是:

  1. 使用Windows权限限制您的应用程序访问资源
  2. 采用VMware或Parallels或其他虚拟化平台,然后在那里运行您的程序
  3. 采用SandBoxing SDK(例如BoxedApp)和“包装”您的应用程序。

防病毒应用程序试图解决几乎相同的问题,但没有成功。
1.您永远不会知道如何使用大多数常见的操作。
2.有Syscalls,因此该程序根本不必使用Winapi。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top