首页
社区
课程
招聘
[求助]关于Kernel mode EXT Hook
发表于: 2009-1-14 11:24 4520

[求助]关于Kernel mode EXT Hook

2009-1-14 11:24
4520
看了Rootkits: Subverting the Windows Kernel这本书中的"A Hybrid Hooking Approach", 想在LoadImageNotifyRoutine中修改输出表,关键点是如何改写输出表中函数的RVA。我按照书中作者的方法这样来修改:

Mdl = IoAllocateMdl((PVOID)destAddr, sizeof(PVOID), FALSE, FALSE, NULL);

MmBuildMdlForNonPagedPool(Mdl);

Mdl->MdlFlags |= MDL_MAPPED_TO_SYSTEM_VA;

MappedDest= MmMapLockedPages(Mdl, KernelMode);

*MappedDest = HookedRVA;

MmUnmapLockedPages(MappedDest, Mdl);

IoFreeMdl(Mdl);

这样做虽然可以修改输出表,但是却导致其他进程中该输出表函数的RVA项也被修改了,这使得在没注入钩子的进程中调用该函数会出错。我猜测这是由于把虚拟内存当作非分页内存来写,破坏了copy-on-write机制。有没有其他方法能避免这种缺陷?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//