请输入您要查询的百科知识:

 

词条 hookport.sys
释义

hookport.sys:

产品名称(Product name) 360安全中心

公司名称(Company name) 360安全中心

文件描述(File description) 360安全卫士 - HookPort

内部名称(Internal name) HookPort

原始文件名(Original filename) HookPort.sys

法律版权(Legal copyright) 版权所有 (C) 2006-2010 360安全中心

产品版本(Product version) 1, 0, 0, 1005

文件版本(File version) 1, 0, 0, 1005

位置: \\Windows\\System32\\Drivers\\Hookport.sys

Hookport.sys是360安全卫士对系统进行挂钩操作的核心模块。其中主要方式对SSDT和shadowSSDT安装钩子函数。但其使用了一种较为特殊的实现方法,使众多常规ARK软件很难检测出360安全卫士所的钩子。由于此方法对系统表操作很少,比较稳定。

Hookport.sys只提供了最为基本的过滤操作和桩函数,本身并没有实现策略部分。策略部分由360SelfProtection.sys实现,并通过设备扩展进行沟通。

整体框架简介

HookPort总共Hook了57h个SSDT或SHADOWSSDT函数,其实现不是通过修改KeServiceDescriptorTable或KeServiceDescriptorShadowTable中函数地址完成,而是通过HookKiFastCallEntry函数实现的。HookPort准备了两个表,SERVICE_FILTER_INFO_TABLE和FILTERFUN_RULE_TABLE。前者保存了SSDT和ShadowSSDT中的原函数地址和Hook函数地址,是按照函数在SSDT中的位置为索引的,后者保存了过滤函数的地址和规则,是按照57h个函数作为索引的。

当程序因为系统调用而进入KiFastCallEntry函数时,会经过两次跳转进入到一个函数中,这个函数会返回一个函数地址,这个地址可能是SSDT中原函数的地址,也可能是SERVICE_FILTER_INFO_TABLE表中Hook函数的地址。到底返回哪个要根据FILTERFUN_RULE_TABLE中的规则来判断。这样就达到了SSDTHOOK的目的。

被Hook的57h个函数名称:

服务名称 索引

==============================================================================

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 //OnlyonVista orlater

NtCreateThread 0x10

NtCreateThreadEx 0x10 //与NtCreateThread共用同一个过滤函数

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

NtSetSystemInformation 0x24

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

NtUserRealChildWindowFromPoint 0x39

NtUserSetInformationThread 0x3A

NtUserSetInternalWindowPos 0x3B

NtUserSetWindowLong 0x3C

NtUserSetWindowPlacement 0x3D

NtUserSetWindowPos 0x3E

NtUserSetWindowRgn 0x3F

NtUserShowWindow 0x40

NtUserShowWindowAsync 0x41

NtQueryAttributesFile 0x42

NtUserSendInput 0x43

NtAlpcSendWaitReceivePort 0x44

NotifyRoutine 0x45//SetCreateProcessNotifyRoutine中的函数

NtUnmapViewOfSection 0x46

NtUserSetWinEventHook 0x47

NtSetSecurityObject 0x48

NtUserCallHwndParamLock 0x49

NtUserRegisterUserApiHok 0x4A

KeUserModeCallback 0x4B

NtUserRegisterWindowMessage 0x4C

NtUserCallNoParam 0x4D

NtAllocateVirtualMemory 0x4E

NtUserCallOneParam 0x4F

NtCreateMutant 0x50

NtOpenMutant 0x51

NtVdmControl 0x52

NtGetNextThread 0x53

NtGetNextProcess 0x54

NtRequestPort 0x55

NtFreeVirtualMemory 0x56

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/9 18:42:26