-
-
[求助]windows下Load_Dll_Debug_Event的通知时机有点过早?
-
发表于:
2007-9-26 00:16
6170
-
[求助]windows下Load_Dll_Debug_Event的通知时机有点过早?
我发现windows XP把LOAD_DLL_DEBUG_EVENT事件传给调试器时,貌似此时被调试进程还没把dll加进自己的虚存空间...
我写了个调试器,在收到load dll事件时立刻调GetModuleNameEx系统API查询dll的名称,但返回错误,GetLstError提示6号错误,invalid handle
同时我用tasklist /M查看被调试进程加载的dll,也没有看到新加载的dll
最后,我在触发load dll事件时用OD看被调试进程,也没有看到新加载的dll
之后,我修改程序,在收到load dll事件后记下HMODULE,在下一调试事件时才查dll名称,此时返回了正确结果。
因此我猜想是不是windows在传递load dll事件的时间有点早...既然这时候dll还没真正加载进虚存,告诉调试器有什么用呢?为什么不等真正加载之后,dllmain之前的时候通知Load_Dll_Debug_Event呢?
不知各位在做软件调试时是否遇到过类似问题或有类似疑问?
谢谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)