l 最重要的扩展特性是位于列表5-13中部的do/while循环,spyhookremove()通过测试全局结构device_context中的所有spy_call子结构的finuse成员来判断hook dispatcher是否还在为其他线程提供服务。这种测试是必须的,因为客户可能会在卸载hook后就立即卸载spy驱动程序。如果在hook dispatcher中还存在其他程序的api调用的情况下,就卸载spy驱动程序,系统将抛出一个异常,随后将引发蓝屏。对finuse的测试每隔100msec就进行一次,以使其他线程有机会推出spy。
ntstatus spyhookremove (bool freset,
首页
上页
下页
尾页
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
本文关键:《Undocumented Windows 2000 Secrets》翻译 --- 第五章(6)