拦截注册表更改

时间:2011-07-13 05:19:43

标签: c# winapi hook registry

我知道我可以使用RegNotifyChangeKeyValue监控注册表更改。我想知道的是它是否有可能拦截并可能阻止读写注册表。我知道一些病毒程序,比如Norton Anti-Virus,会弹出一个警告,询问某个程序是否可以修改注册表,那里,我只能假设必须有办法做到这一点。

最好,我更喜欢使用C#管理方式,但是,如果有人知道如何做到这一点,即使它使用了一些WINAPI函数,我也会接受这个答案。

先谢谢

2 个答案:

答案 0 :(得分:1)

查看Easyhook - 这是一个名为Detours的现有Microsoft Research项目的托管版本。这应该做你想要的。

答案 1 :(得分:0)

几年前,我在Windows XP上编写了一个驱动程序(sys)。在32位版本的Windows上,我找到了带有功能地址的表,我用自己的地址替换了它们。当然,驱动程序从内部调用原始的注册表API函数。

不知道它在Vista / 7和x64系统上是如何工作的。也许你将不得不对此进行一些研究。

如果你这样做,如果某些反病毒软件将你的驱动程序报告为恶意软件,请不要感到惊讶。