带弯路的钩子Api在分离时崩溃
Hooking Api with Detours crashes on Detach
我试图通过在explorer.exe中注入.dll来绕过NtQueryVolumeInformationFile。
它工作得很好,直到我试图弹出dll。弹出.dll后,explorer.exe会崩溃。
操作系统:Windows 7 32bit编译器:Visual Studio 2012 with Detours 3.0 library
DllMain.cpp: http://pastebin.com/6PgZcdhiHeader.h: http://pastebin.com/BGQ527Ym
我希望有人能帮我弄清楚问题是什么。这个问题我做了两天了,一点头绪也没有。谢谢你的帮助
如果至少有一个挂起的调用,从目标进程分离是不安全的,所以安全分离需要一个机制来检测挂起的调用,据我所知,弯路没有这样的机制,你必须自己做。顺便说一句,你可以在windbg中获得崩溃转储和!analyze -v
,这可以帮助诊断分离时发生的事情。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 带弯路的钩子Api在分离时崩溃
- 退出时分离的线程崩溃