首页
社区
课程
招聘
[原创]分析了一下360安全卫士的HOOK
发表于: 2009-10-8 14:05 28400

[原创]分析了一下360安全卫士的HOOK

2009-10-8 14:05
28400

分析了一下360的HOOK,通过直接hook KiFastCallEntry实现以所有系统调用的过滤。
我分析的版本如下:
主程序版本: 6.0.1.1003
HookPort.sys版本: 1, 0, 0, 1005
HookPort.sys的TimeStamp: 4A8D4AB8

简单说明:360把所有被hook的系统服务的过滤函数放在了一个表里,索引即对应的系统服务在该过滤函数表中的索引。
所有列出来的函数都会被hook掉的,是否处理指某个系统服务有没有相应的过滤函数进行处理,拒绝还是放行就是在过滤函数中完成判断的。
不处理的系统服务,将会直接调用原始服务例程。
函数如下:
服务名称          索引  是否处理  备注
==============================================================================
NtCreateKey          0x00  否
NtQueryValueKey        0x01  是
NtDeleteKey          0x02  是
NtDeleteValueKey      0x03  是
NtRenameKey          0x04  是
NtReplaceKey        0x05  是
NtRestoreKey        0x06  是
NtSetValueKey        0x07  是
NtCreateFile        0x08  是
NtFsControl          0x09  是
NtSetInformationFile     0x0A  是
NtWriteFile          0x0B  是
NtWriteFileGather      0x0B  是    //和NtWriteFile共用一个过滤函数
NtCreateProcess        0x0D  是
NtCreateProcessEx      0x0E  是
NtCreateUserProcess      0x0F  是    //Only on Vista or later
NtCreateThread        0x10  是
NtCreateThreadEx      0x10  是    //和NtCreateThread共用一个过滤函数,for vista or later
NtOpenThread        0x11  是
NtDeleteFile        0x12  是
NtOpenFile          0x13  是
NtReadVirtualMemory      0x14  否
NtTerminateProcess      0x15  是
NtQueueApcThread      0x16  是
NtSetContextThread      0x17  是
NtSetInformationThread    0x18  否
NtProtectVirtualMemory    0x19  否 
NtWriteVirtualMemory    0x1A  是
NtAdjustGroupToken      0x1B  否
NtAdjustPrivilegesToken   0x1C  否
NtRequestWaitReplyPort    0x1D  是
NtCreateSection        0x1E  是
NtOpenSecton        0x1F  是
NtCreateSymbolicLinkObject  0x20  是
NtOpenSymbolicLinkObject  0x21  否
NtLoadDriver        0x22  是
NtUnloadDriver        0x22  是    //和NtLoadDriver共用一个过滤函数
NtQuerySystemInformation  0x23  是
NtSetSystemTime        0x25  否
NtSystemDebugControl    0x26  是
NtUserBuildHwndList      0x27  是
NtUserQueryWindow      0x28  是
NtUserFindWindowEx      0x29  是
NtUserWindowFromPoint    0x2A  是
NtUserMessageCall      0x2B  是
NtUserPostMessage      0x2C  是
NtUserSetWindowsHookEx    0x2D  是
NtUserPostThreadMessage    0x2E  是
NtOpenProcess        0x2F  是
NtDeviceIoControlFile    0x30  是
NtUserSetParent        0x31  是
NtOpenKey          0x32  是
NtDuplicateObject      0x33  是
NtResumeThread        0x34  否
NtUserChildWindowFromPointEx 0x35  是
NtUserDestroyWindow      0x36  是
NtUserInternalGetWindowText  0x37  否
NtUserMoveWindow      0x38  是    //和NtSetParent共用一个过滤函数
NtUserRealChildWindowFromPoint 0x39 是    //和NtUserChildWindowFromPointEx共用一个过滤函数
NtUserSetInformationThread  0x3A  否
NtUserSetInternalWindowPos  0x3B  是    //和NtSetParent共用一个过滤函数
NtUserSetWindowLong      0x3C  是    //和NtSetParent共用一个过滤函数
NtUserSetWindowPlacement  0x3D  是    //和NtSetParent共用一个过滤函数    
NtUserSetWindowPos      0x3E  是    //和NtSetParent共用一个过滤函数
NtUserSetWindowRgn      0x3F  是    //和NtSetParent共用一个过滤函数    
NtUserShowWindow      0x40  是
NtUserShowWindowAsync    0x41  是    //和NtUserShowWindow共用一个过滤函数
NtQueryAttributesFile    0x42  否
NtUserSendInput        0x43  否
NtAlpcSendWaitReceivePort  0x44  是    //for vista or later
NtUnmapViewOfSection    0x46  是
NtUserSetWinEventHook    0x47  否
NtSetSecurityObject      0x48  是
NtUserCallHwndParamLock    0x49  是
NtUserRegisterUserApiHok  0x4A  否

本来很整齐的,贴上来有点乱~~
MJ如果不介意,我继续~~


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

收藏
免费 7
支持
分享
最新回复 (35)
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
open才能更加的完美
2009-10-8 14:28
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持教主
2009-10-8 15:10
0
雪    币: 8196
活跃值: (2791)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
嗯..不错..

很强大..
2009-10-8 15:34
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
5
Support!膜拜楼主
2009-10-8 15:56
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
6
good job,看了楼主的分析,比较准确。
2009-10-8 16:01
0
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
inline hook还是改MSR?
2009-10-8 20:02
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
8
KiFastCallEntry Inline hook
2009-10-8 20:11
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
特地从D8膜拜教主到看雪
2009-10-8 21:33
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
只能膜拜
很强大
2009-10-9 09:51
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼主难道是那位很有名气的黑客,中文昵称"教主"的那位???
2009-10-9 10:09
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
这个很强大,一直不知道360 Hook了哪些地方,LZ good job!
2009-10-9 10:27
0
雪    币: 202
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
这个就是教主啊。。大名如雷灌耳。。
2009-10-9 10:41
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
教主吗 膜拜
顺便晾凉账号,又快给忘掉了
2009-10-9 11:02
0
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
mark                  
support!
2009-10-9 11:21
0
雪    币: 194
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
只能膜败鸟。。。。
2009-10-9 12:24
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
17
汗,我不是某些人所说的那个曾经的教主。。。
2009-10-9 12:24
0
雪    币: 505
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
教主,令人敬慕
2009-10-10 09:44
0
雪    币: 268
活跃值: (40)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
19
achillis怎么不继续了,是不是mj找你了
2009-10-10 13:30
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
20

放假结束了,没时间写了
2009-10-10 14:28
0
雪    币: 146
活跃值: (33)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
21
支持一下,暂时只能膜拜了。。
2009-10-10 14:38
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
那人估计是把楼主写出教主了、、
2009-10-10 18:25
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
确实简单方便,但这样会不会对系统性能有一定的影响?
2009-10-14 09:09
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
24

肯定有啊,不过360处理得好,影响比较小
2009-10-14 10:08
0
雪    币: 608
活跃值: (91)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
不错,有眼前一亮的感觉
2009-10-14 11:00
0
游客
登录 | 注册 方可回帖
返回
//