能力值:
( LV2,RANK:10 )
|
-
-
2 楼
#inlude "NTDLL.H"
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢天下这么快得回复。
我得程序是再vc6下编译,按照您的提示,找到wdk里的头文件包进来,结果原来detours里出了一堆问题。
请问detours库是不是不能hook ntdll导出的native api?
再次感谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
按照天下的提升,程序调通了,再次感谢天下。
不过又出现了新问题。我将LdrLoadDll HOOK后,没有做任何事情,直接传给真正的LdrLoadDll,代码如下:
NTSTATUS NTAPI Mine_LdrLoadDll( IN PWCHAR pszSearchPath,
IN PULONG puDllCharacteristics ,
IN PUNICODE_STRING pusDllName,
OUT PHANDLE phDllHandle)
{
return (NTSTATUS)pAddr( pszSearchPath ,puDllCharacteristics,pusDllName,phDllHandle);
}
但结果被HOOK的程序在打开后就死在那里,CPU占用50%。陷入死循环?
这是为什么呢?我的dll是通过修改导入表注入到目标程序里去的。
望各位大牛指点。
|
能力值:
( LV15,RANK:440 )
|
-
-
5 楼
inline hook 在控制传给原始函数之前要恢复被替换的字节之后再转到原始函数执行……
对于捕获模块加载事件,如果是vista以上版本系统,还有一种方法,请参考我的一篇关于调试器的帖子,里边有相关hook代码。
|
|
|