-
-
[求助]学习WaitForDebugEvent系列遇到些问题,求教
-
发表于:
2010-11-4 12:05
7631
-
[求助]学习WaitForDebugEvent系列遇到些问题,求教
无壳进程用DEBUG_ONLY_THIS_PROCESS参数创建以后,进入WaitForDebugEvent循环,现在想在某一个断点事件以后,像VC那样分离调试状态,是调用哪个API?搜了半天没搜到,是否要先ContinueDebugEvent以后再分离?如果分离的瞬间有调试事件生成,是否会导致被调试进程挂起呢?
另外还有一个问题,对于EXCEPTION_DEBUG_EVENT类型的事件,ContinueDebugEvent的时候参数要填什么才可以使异常传递给程序解决?是DBG_EXCEPTION_NOT_HANDLED吗?
为什么下面这种写法连notepad都不能调试运行起来?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | DEBUG_EVENT devent;
while (1)
{
if (WaitForDebugEvent(&devent, INFINITE)) {
switch (devent.dwDebugEventCode)
{
case EXCEPTION_DEBUG_EVENT:
ContinueDebugEvent(devent.dwProcessId , devent.dwThreadId , DBG_EXCEPTION_NOT_HANDLED);
break ;
case EXIT_PROCESS_DEBUG_EVENT:
ContinueDebugEvent(devent.dwProcessId , devent.dwThreadId , DBG_CONTINUE);
__asm int 3
break ;
default:
ContinueDebugEvent(devent.dwProcessId , devent.dwThreadId , DBG_CONTINUE);
break ;
}
}
else
{
// 其他一些操作
//break ;
}
}
|
很快就会运行到int 3,求教,谢谢!
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!