ObjectType HOOK干涉注册表操作
2008-02-26 09:23:07 来源:WEB开发网 lkd>dt_OBJECT_TYPE_INITIALIZER839b25e0+60
+0x000Length:0x4c
+0x002UseDefaultObject:0x1''
+0x003CaseInsensitive:0''
+0x004InvalidAttributes:0x30
+0x008GenericMapping:_GENERIC_MAPPING
+0x018ValidAccessMask:0x1f003f
+0x01cSecurityRequired:0x1''
+0x01dMaintainHandleCount:0''
+0x01eMaintainTypeList:0x1''
+0x020PoolType:1(PagedPool)
+0x024DefaultPagedPoolCharge:0x74
+0x028DefaultNonPagedPoolCharge:0
+0x02cDumpProcedure:(null)
+0x030OpenProcedure:(null)
+0x034CloseProcedure:0x8062cedcnt!CmpCloseKeyObject+0
+0x038DeleteProcedure:0x8062cdc2nt!CmpDeleteKeyObject+0
+0x03cParseProcedure:0x806250c2nt!CmpParseKey+0
+0x040SecurityProcedure:0x8062cc24nt!CmpSecurityMethod+0
+0x044QueryNameProcedure:0x8062be7ent!CmpQueryKeyName+0
+0x048OkayToCloseProcedure:(null)
那么很简单了,我们只要HOOK这些函数例程就可以了。
例如hook ParseProcedure,那么可以令得无法打开特定的Object
这些函数例程的原始例程是比较难搜索到的,结合多段跳,可以很容易地让反rootkit工具检查不到这种HOOK。
HOOK了之后,冰刃(蹦出“无法打开”)和GMER都无法打开目标的注册表键,当然uty的那个新的反ROOTKIT工具也是不行~(直接解析注册表的例如DarkSpy则可以)
以下是很老的一个RK里的代码,用于进行这个处理,小改了一下:
Tags:ObjectType HOOK 干涉
编辑录入:爽爽 [复制链接] [打 印]赞助商链接