返回内存块中的内容
SPY_IO_HANDLE_INFO
10
0x80006028
从句柄中查找对象属性
SPY_IO_HOOK_INFO
11
0x8000602C
返回有关 Native API Hook 的信息
SPY_IO_HOOK_INSTALL
12
0x8000E030
安装 Native API Hook
SPY_IO_HOOK_REMOVE
13
0x8000E034
移除一个 Native API Hook
SPY_IO_HOOK_PAUSE
14
0x8000E038
暂停 / 恢复 Hook 协议
SPY_IO_HOOK_FILTER
15
0x8000E03C
允许 / 禁止 Hook 协议过滤器
SPY_IO_HOOK_RESET
16
0x8000E040
清除 Hook 协议
SPY_IO_HOOK_READ
17
0x8000E044
从 Hook 协议中读取数据
SPY_IO_HOOK_WRITE
18
0x8000E048
向 Hook 协议中写入输入
SPY_IO_MODULE_INFO
19
0x8000E04C
返回已加载模块的信息
SPY_IO_PE_HEADER
20
0x8000E050
返回 IMAGE_NT_HEADERS 数据
SPY_IO_PE_EXPORT
21
0x8000E054
返回 IMAGE_EXPORT_DirectorY 数据
SPY_IO_PE_SYMBOL
22
0x8000E058
返回导出的系统符号的地址
SPY_IO_CALL
23
0x8000E05C
调用已加载模块中的一个函数
#define MUTEX_INITIALIZE(_mutex)
KeInitializeMutex
(&(_mutex), 0)
#define MUTEX_WAIT(_mutex)
KeWaitForMutexObject
(&(_mutex), Executive, KernelMode, FALSE, NULL)
#define MUTEX_RELEASE(_mutex)
KeReleaseMutex
(&(_mutex), FALSE)
列表 4-9. 管理 Kernel-Mutex 的宏
SpyDispatcher() 使 用一对帮助函数来读取输入参数,以获取被请求的数据,并将产生的数据写入调用者提供的输出缓冲区中 。就像前面提到的,内核模式的驱动程序总是过分挑剔的对 待它接受到的来自用户模式的参数 。以驱动程序的观点来看,所有用户模式下的代码都是有害的,它们除了让系统崩溃就什么都不知道了 。这种多少有些多疑症的观 点并不是荒谬的 ---- 仅有很小的比率会导致整个系统立即终止,同时出现蓝屏 。因此,如果一个客户端程序说:“这是我的缓冲区 ----- 它最多可容纳 4,096 个字节”,驱动程序不会接受这个缓冲区 ---- 即使该缓冲区指向有效的内存,并且其大小也是正确的 。在 IOCTL 的可缓冲的 I/O 模式( Buffered I/O )下(如果 IOCTL 编码的模式部分为 METHOD_BUFFERED ),系统会很小心的检查并分配一个足够容纳所有输入 / 输出数据的缓冲区 。然而,其他的 I/O 传输模式,尤其是 METHOD_NETTHER,驱动程序会接受原始的用户模式的缓冲区指针 。
- Windows 2000/2003下如何使用组策略禁止用户修改密码
- windows 2000密码破解
- Windows 2000对调试技术的支持
- 永久删除 Windows 2000 默认本地 C, D 盘共享的两个批处理文件
- Windows 2000 无法直接关机解决方案
- 2 《Undocumented Windows 2000 Secrets》翻译 --- 第二章
- 2 《Undocumented Windows 2000 Secrets》翻译 --- 2
- 使用 Windows 2000 中的 IPSec IP 筛选器列表
- 火影忍者是哪一年出的
- 体验 Windows 2000 运行如飞的感觉
