能力值:
( LV13,RANK:260 )
|
-
-
2 楼
是一个函数 它是ntdll .dll中的一个函数 DbgUiRemoteBreakin,它内部会调用DbgBreakPoint执行断点指令,而且是在一个结构化异常保护块(SEH)中做的调用。具体情况 我就给你一个链接吧! 71cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0G2L8$3E0Q4x3X3f1#2x3h3y4@1L8#2)9J5k6h3y4G2L8g2)9J5c8X3q4J5N6q4)9J5c8U0t1H3x3o6R3I4x3W2)9J5c8U0p5H3x3o6R3K6y4q4)9J5k6h3S2@1L8g2)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4@1f1@1i4@1u0p5i4@1p5H3i4@1f1#2i4@1u0m8i4K6V1@1i4@1f1^5i4@1q4r3i4@1p5#2i4@1f1^5i4K6R3K6i4@1u0p5i4@1f1%4i4K6W2o6i4K6S2n7i4@1f1$3i4K6R3%4i4K6R3J5i4K6N6q4i4K6N6q4i4K6N6q4i4@1f1#2i4K6S2m8i4@1p5H3i4@1f1$3i4@1t1J5i4@1t1&6i4@1g2r3i4@1u0o6i4K6R3I4i4@1g2r3i4@1u0o6i4K6R3I4i4@1g2r3i4@1u0o6i4K6R3I4
|
能力值:
( 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 楼
++顶贴++
|
|
|