能力值:
( LV13,RANK:260 )
|
-
-
2 楼
是一个函数 它是ntdll .dll中的一个函数 DbgUiRemoteBreakin,它内部会调用DbgBreakPoint执行断点指令,而且是在一个结构化异常保护块(SEH)中做的调用。具体情况 我就给你一个链接吧!http://book.51cto.com/art/200812/100834.htm 你应该能看懂~~~加油!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
如果用调试器调试一个进程的话,调试器首先会在这个进程中创建一个远程中断线程(Remote Breakin Thread),而DbgUiRemoteBreakin就是这个线程的启动函数,其结构如下:
DWORD WINAPI DbgUiRemoteBreakin( LPVOID lpParameter)
{
__try
{
if(NtCurrentPeb()->BeingDebugged)
DbgBreakPoint();
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
return 1;
}
RtlExitUserThread(0);
}
其中NtCurrentPeb()->BeingDebugged是读取进程PEB中的BeingDebugged标志,判断自己是否处于调试状态,如果处于调试状态,则调用DbgBreakPoint()触发断点
另外,如果调试器无法处理这个断点的话,则交给异常处理器处理它,这就是__except的作用
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
有点复杂,只能学习!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
学习了............
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
路过,学习一下!!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
学习了,还要好好看一下
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
++顶贴++
|
|
|