首页
社区
课程
招聘
ssdt hook 和 ServiceCounterTable
发表于: 2009-12-27 22:17 5180

ssdt hook 和 ServiceCounterTable

2009-12-27 22:17
5180
typedef struct ServiceDescriptorTable {
PVOID ServiceTableBase;
PVOID ServiceCounterTable(0);
unsigned int NumberOfServices;
PVOID ParamTableBase;
}
ServiceCounterTable 此域用于操作系统的 checked builds,包含着 SSDT 中每个服务被调用次数的计数器。这个计数器由 INT 2Eh 处理程序 (KiSystemService)更新。

hook前和后,要不要检查下相应的函数是不是调用函数数为零后再hook和恢复,要不会不会蓝?
但是windbg看这个地址是0 。。。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 44
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你已经提到了是checked builds才有用,你用的checked版的windows ntoskrnl?
2009-12-29 16:02
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个得看你代码怎么写了
不过一般只需要检查进入你自己的hook处理函数的数量就行了,
dpc啥的那一堆之后直接unhook,但是在进入自己函数的调用数为0之前都不要unload你的代码
2009-12-29 18:01
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上二位,有收获
自己hook函数被调用的次数,这个要怎么记录,我想想
2010-1-2 11:11
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
这个根本不需要 你没理解SSDT HOOK啊  就是改函数地址指向,系统调用管它做什么  计数让它自己更新,跟HOOK什么关系都没有
2010-1-2 12:03
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
调用函数数只是在checked build 上的一个计数而已,没啥关系
主要应该关心自己的代码上还有没有在运行的调用
2010-1-2 12:51
0
游客
登录 | 注册 方可回帖
返回
//