我看到一些反病毒软件注意到一些其他进程正在试图修改我的注册表项,并询问我是否允许它。如果在我做出决定之前不修改注册表,该防病毒软件如何挂起和停止该进程?我找不到任何可以做这些事情的API,这对我的项目至关重要。
谢谢,
冯
发布于 2011-12-20 23:25:27
反病毒软件最有可能是挂接注册表函数,因此在将请求传递给真正的函数之前,它自己的代码将首先被调用。
请注意,除了少数非常特定的情况外,在任何情况下这样做都可能是可疑的行为。
发布于 2011-12-20 23:32:53
这也是通过游戏完成的。他们劫持了在3D场景中渲染对象的函数调用,然后告诉游戏引擎在每个其他对象上渲染所有角色,这导致了wallhack。
您可以使用的API (不再使用,因为反作弊软件现在阻止它)是绕道API。当然,您仍然可以将其用于自己的目的。
在web上有很多关于这个API的信息。
http://research.microsoft.com/en-us/projects/detours/
发布于 2011-12-20 23:42:33
考虑使用RegSetKeySecurity (MSDN)适当地保护应用程序注册表项。
或者,您也可以构造一个注册表过滤器内核模式驱动程序。这样的驱动程序可以利用CmRegisterCallback/Ex()服务来过滤注册表事件。这是一项很大的工作(tm),但据我所知,这是唯一有文档记录/支持的方法。
https://stackoverflow.com/questions/8577623
复制相似问题