网页美工用什么软件:分析了一下360安全卫士的HOOK

来源:百度文库 编辑:中财网 时间:2024/04/28 13:36:44
分析了一下360安全卫士的HOOK2009年10月08日 13:54

分析了一下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     否