能力值:
(RANK:1060 )
|
-
-
2 楼
怎么总是想无聊的事情啊
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
完全不懂楼主的意思...
|
能力值:
( LV9,RANK:210 )
|
-
-
4 楼
还要卖个关子
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
好吧,算我开始没说清楚,如果看了《Windows Internals》你会发现,第三张系统机制的对象管理器一节中,列出了对象头的格式,对象头的格式中包含了一个域,“已打开句柄列表”,也就是说,哪个进程使用了该对象的句柄,那么这个进程就会被列入该列表中,如果在反调试的过程中,遍历该列表,可以快速找到目前有可能对被保护进程有所动作的可疑进程。
由于大多数调试类软件中的选择被调试的进程这一环都由用户来选,所以这一块处于用户态,一定用的是句柄的方法。我看了一下,象OLLYDBG和VSS2005这类软件,在调试具体进程的时候,用微软的HANDLE工具可以看到,它们的已打开句柄列表中都有被调试进程的PROCESS对象句柄。如果我是反调试软件,我可以不停的扫描我要保护的进程对象的对象头的已打开句柄列表,如果心狠手辣的话,只要发现有可疑进程,就立即杀掉。
选择被调试的进程也可以在内核级别进行,这样就绕开了句柄这一环,但关键在于内核模下的操作系统例程不是完全不使用句柄,有几个例程还是要用到的,这从WRK里的几个内核函数可以看出来,有几个函数是需要用句柄来做参数。所以想完全绕开句柄有点难。有句柄我想上面的反调试手段就应该会有效。所以目前我想了解和讨论的话题是,如果完全不用句柄,想调试一个程序该怎么走。这样说,不知道大家明不明白。
谢谢!
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
你想把自己隐形?那你就不要以物质形式出现
|
能力值:
( LV13,RANK:530 )
|
-
-
7 楼
什么时候开始流行WinDbg?
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
不知道楼上什么意思,WinDBG好象也要用到句柄的吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
小问题,用虚拟机可以解决,完全透明调试
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
可否请楼上朋友给一个详细的说法,具体用什么软件啊!我对虚拟机还不太了解。
|
|
|