Hook Windows Api CreateFileW问题
我根据Windows核心编程中的全局hook api例子,写了Hook CreateFileW()函数的方法,但是它只能hook到notepad中调用的CreateFileW方法,而notepad++中调用的CreateFileW方法就无法hook到,为什么? api windows hook createfilew
[解决办法]
你这背景也不说,代码也没上,就相当于问“我昨天吃了一个馒头饱了,但我今天吃了一个包子,很快就饿了,这是为什么?”
提问也要有提问的艺术啊
[解决办法]
Notepad++可能不是用的这个API
[解决办法]
notepad++ 要是 显式 调用 Kernal32.dll 中的 函数, 就会 hook不到。
要 hook Kernal32.dll
[解决办法]
即:
{"KERNEL32.DLL", "CreateFileA","myCreateFileA",(FARPROC)myCreateFileA},
{"KERNEL32.DLL", "CreateFileW","myCreateFileW",(FARPROC)myCreateFileW},
[解决办法]
而 notepad++ 用
pFunc=GetProcAddress(GetModuleHandle("Kernel32"), "CreateFileW");
[解决办法]
以上只是猜测。
我有个“PeekComm.rar”0分
http://download.csdn.net/detail/schlafenhamster/5202391
你下载作为参考。
使用时 在 bedug 版本下 运行。
打开 notepad
在 peekcom 窗口中 把 “find” 图标,拖到 notepad 上,这是 hook 过程。
然后在 notepad 里 ,新建, 输入 asdcasc ,保持为 “COM.txt”名字一定要这样。
在 PeekCom 的 调试窗口 可以 看到 “CreateFileW”
我 没有 notepad++ ,所以 你 自己 试试。