列表5-21. 一个简单的字符串模式匹配器
图5-6和图5-7中的例子,是w2k_hook.exe使用名字模式*file和ntclose时生成的。这将筛选出所有的对文件管理函数的调用,同时还包括ntclose()。要特别注意的是,名字模式串不影响协议数据的生成,它只在显示时对已生成的协议数据进行过滤,而spy设备的“垃圾”过滤器是根据已注册的句柄来决定生成什么样的协议数据的。如果你指定w2k_hook.exe的名字模式串来排除某些协议项,那么是不会影响协议数据的生成的。唯一的影响就是,如果从协议缓冲区中取出的数据不符合你的要求,那么就丢掉而已。
总结和不足
russinovich和cogswell(russinovich and cogswell 1997)提出的api hooking机制在此也是使用的,而且非常漂亮和具有独创性。下面就是此种机制中值得关注的特点: