看雪论坛
发新帖

[讨论]问点OD附加原理的事

wx_大简, 2017-8-2 15:10 477

比如自己写个demo.exe,两个线程,都while+sleep打印信息。


OD附加这个demo,附加时候暂停在int3断点上。

此时用dbgview去看demo进程的两个线程打印信息都停止了。

但看OD的线程,发现都是"激活"状态。所以明显不是通过suspendthread/suspendProcess暂停的被附加进程,所以问题来了,他是通地什么方式将所有线程暂停了并且还显示“激活”状态。。?

本主题帖已收到 0 次赞赏,累计¥0.00
最新回复 (5)
wx_大简, 2017-8-3 00:20
2
wx_大简, 2017-8-4 14:44
3
没人知道吗
1
叁毛 2017-8-4 22:27
4
以win2k为例,如果当前进程是以调试方式创建的话,那么创建进程回到用户态进程开始初始化的地方,在NTDLL有这个函数:
LdrpInitializeProcess

                //  Now  that  all  DLLs  are  loaded,  if  the  process  is  being  debugged,
                //  signal  the  debugger  with  an  exception
                //

                if  (  Peb->BeingDebugged  )  {
                          DbgBreakPoint();
                }


OD可以设置停下来在系统断点,还是winmain
wx_大简, 2017-8-5 21:11
5
叁毛 以win2k为例,如果当前进程是以调试方式创建的话,那么创建进程回到用户态进程开始初始化的地方,在NTDLL有这个函数: LdrpInitializeProcess // No ...
我问的是附加,谢谢
PYGame 2017-9-13 01:09
6
有可能是窗口没有刷新,你右键刷新一下窗口看看状态是否改变
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 微信公众号:ikanxue
Time: 0.011, SQL: 9 / 京ICP备10040895号-17