阅读:3838回复:5
再问:驱动级hook和应用层hook同时hook一个API 那个会起作用.(菜鸟问题)
如题
|
|
沙发#
发布于:2007-01-15 18:34
都会起作用。驱动Hook是全局的,应用Hook是局部的。
|
|
板凳#
发布于:2007-01-15 18:36
举个例子,CreateFile流程是这样: CreateFile->Zw/NtCreateFile(Ring3 ntdll.dll)---(int 2e/sysenter)-->NtCreateFile(Ring 0)--(I/O管理器,IRP)-->文件系统驱动--(I/O管理器,IRP)->卷管理驱动---(I/O管理器,IRP)-->磁盘驱动disk.sys
如果你在Ring3下hook了目标进程空间的CreateFile,又在Ring0下挂钩了SDT表中的NtCreateFile系统服务,还又挂钩了ntfs.sys,则Ring3下的目标程序调用CreateFile时就会先执行你的挂钩函数MyRing3CreateFile。如果你的挂钩函数继续往下转发,下面的钩子就会起作用;如果MyRing3CreateFile直接return而没继续调用原来系统CreateFile则下面的钩子就不起作用。 |
|
地板#
发布于:2007-01-26 15:28
good
|
|
|
地下室#
发布于:2007-09-15 00:28
引用第2楼xyzreg于2007-01-15 18:36发表的 : 这样解释很好懂。这么看来没有绝对有效的钩子了。 |
|
5楼#
发布于:2007-09-17 01:10
对付应用程序,当然应用级先起作用了,程序就不让它跑起来,再强也白给。
|
|