首页
社区
课程
招聘
[讨论]Shadow SSDT hook
发表于: 2011-1-30 00:52 5847

[讨论]Shadow SSDT hook

2011-1-30 00:52
5847
环境 :Winxp+Sp3

已经获取了KeServiceDescriptorTableShadow的址
但是看了论坛里面的文章,说win32k.sys不是常驻内存
http://bbs.pediy.com/showthread.php?t=56955

说是下面的函数可以解决这个问题,但是我看不太明白,希望大哥们指点一下

入参是什么?
返回的是什么?
返回之后怎么修改Shadow SSDT 里面对应函数的地址?

PVOID *RegmonMapServiceTable(  SERVICE_HOOK_DESCRIPTOR **ServiceIsHooked  )
{
	*ServiceIsHooked = (SERVICE_HOOK_DESCRIPTOR*)
		ExAllocatePool(NonPagedPool, KeServiceDescriptorTable->TableSize);
	
	if( *ServiceIsHooked )
	{
        RtlZeroMemory(*ServiceIsHooked, KeServiceDescriptorTable->TableSize);
		
        KeServiceTableMdl = MmCreateMdl(0, KeServiceDescriptorTable->ServiceTable, KeServiceDescriptorTable->TableSize << 2);
		
        if( KeServiceTableMdl )
        {
            MmBuildMdlForNonPagedPool(KeServiceTableMdl);
			
            KeServiceTableMdl->MdlFlags |= 1;
			
            return (PVOID*)MmMapLockedPages(KeServiceTableMdl, KernelMode);
        }
	}
	
	return NULL;
};


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 517
活跃值: (84)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
2
哦,这也是一招吗,不用连接csrss.exe的?没试过。
不过,这光申请不释放的……
2011-1-30 12:28
0
雪    币: 177
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这招估计不好用,我还是用连接csrss.exe这招好了

我是看着这代码简洁,作者提示过用完后要释放的,这里只是申请函数
2011-1-30 19:34
0
游客
登录 | 注册 方可回帖
返回
//