首页
社区
课程
招聘
[原创]这两天对某P双机调试的学习及成果
发表于: 2015-1-1 00:20 48257

[原创]这两天对某P双机调试的学习及成果

2015-1-1 00:20
48257

可见KdDebuggerNotPresent也是一个判断是否是内核调试状态的标志。

6.根据先前大牛写的这个帖子http://bbs.pediy.com/showthread.php?t=186091
讲过KdEnteredDebugger也是一个判断是否为内核调试状态的标志。

7.如果是内核调试状态,KiDebugRoutine指向KdpTrap函数,如果不是内核调试状态则指向KdpStub函数。

综合上述,上述7点中的任何一点可以判断是否处于内核调试状态。

二:接下来看一下*P对内核做的手脚。

1.解决*P加载蓝屏的方法:

根据上面提到的帖子上有给出解决方案,因为*P会访问KdEnteredDebugger的内容所以Hook IoAllocMdl,当访问KdEnteredDebugger的时候让他去访问其他始终为0的地址。具体可以看上面帖子的地址。

2.解决完1之后,在虚拟机启动*P就不会蓝屏了,*P会有两个IAT Hook 两个通讯函数:KdSendPacket 和KdReceivePacket,反汇编一下这两个函数:
 

 
解决方案:
解析内核文件的PE结构,获取两个发送函数的地址,得到地之后把地址赋值给自己驱动的全局变量,然后用全局变量替换这两个jmp的地址。详见源码。

3.众所周知,*P是调用KdDisableDebugger函数来禁止内核调试的。所以下断KdDisableDebugger。并将KdDisableDebugger的头部改成ret:



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-9-29 14:04 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (81)
雪    币: 118
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
先顶后阅,此帖会火我会乱说?
2015-1-1 00:50
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看着很强大,前排学习。
2015-1-1 01:04
0
雪    币: 5
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错啊,很好的贴纸
2015-1-1 01:38
0
雪    币: 376
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
火前留个爪
2015-1-1 06:28
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
火帖,学习
2015-1-1 10:10
0
雪    币: 4
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
新年新气象
2015-1-1 10:25
0
雪    币: 44
活跃值: (186)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
恭喜楼主,贺喜楼主变牛人了,膜拜
2015-1-1 10:52
0
雪    币: 2907
活跃值: (1301)
能力值: ( LV12,RANK:215 )
在线值:
发帖
回帖
粉丝
9
火前留名,膜拜大神。
2015-1-1 10:52
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
此贴必火。
2015-1-1 10:57
0
雪    币: 32
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
厉害哦!!顶了,坐等加精诶
2015-1-1 11:06
0
雪    币: 2194
活跃值: (1001)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
why are you so diao ?
2015-1-1 14:13
0
雪    币: 79
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
问下 楼主 以前那个帖子也看过 但是一直不知道 *P会访问KdEnteredDebugger的内容所以Hook IoAllocMdl 这是为什么  下KdEnteredDebugger硬件访问断点 F5会蓝屏 如何来定位这个检测的流程代码呢?
2015-1-1 14:52
0
雪    币: 62
活跃值: (971)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
恭喜楼主,新年快乐。
2015-1-1 16:25
0
雪    币: 124
活跃值: (469)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
新年快乐了
2015-1-1 17:12
0
雪    币: 135
活跃值: (76)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
感谢分享,支持有码
2015-1-1 18:37
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看完楼主的这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横pediy多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子.楼主,是你让我深深地理解了'人外有人,天外有天'这句话.谢谢你!在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子.但是我还是回复了,因为我觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好了!
2015-1-1 19:49
0
雪    币: 294
活跃值: (119)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
18
我感觉,一般可以先看一下TesSafe.sys的导入表,看看使用了哪些函数,如图:

然后可以猜测,为了安全访问内核的地址内容,会创建一个MDL进行操作,进而可以猜测HOOK IoAllocateMdl 函数。总之,实践出真理~
上传的附件:
2015-1-1 20:05
0
雪    币: 79
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
[QUOTE=zfdyq;1341924]我感觉,一般可以先看一下TesSafe.sys的导入表,看看使用了哪些函数,如图:

然后可以猜测,为了安全访问内核的地址内容,会创建一个MDL进行操作,进而可以猜测HOOK IoAllocateMdl 函数。总之,实践出真理~[/QUOTE]

多谢 朋友热心帮助 感激不尽
2015-1-1 22:41
0
雪    币: 376
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
[QUOTE=zfdyq;1341924]我感觉,一般可以先看一下TesSafe.sys的导入表,看看使用了哪些函数,如图:

然后可以猜测,为了安全访问内核的地址内容,会创建一个MDL进行操作,进而可以猜测HOOK IoAllocateMdl 函数。总之,实践出真理~[/QUOTE]

楼主这个工具叫什么,可否说下名字
2015-1-1 23:39
0
雪    币: 7885
活跃值: (2285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
这个必须支持,感谢分享。
2015-1-2 00:35
0
雪    币: 45
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
膜拜楼主大神
2015-1-2 08:36
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
diao zha tian
2015-1-2 09:27
0
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
火前留名,膜拜大神。
2015-1-2 09:50
0
雪    币: 294
活跃值: (119)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
25
LoadPE
2015-1-2 10:16
0
游客
登录 | 注册 方可回帖
返回
//