首页
社区
课程
招聘
[讨论]ring0隐藏调试端口
发表于: 2009-1-22 22:32 7685

[讨论]ring0隐藏调试端口

2009-1-22 22:32
7685
ring3使用StrongOD可以把调试器隐藏得比较好了,但一到ring0它就无能为力。ring0目标进程被调试的最大特征就是DebugPort不为空,就算目标进程被调试中,一旦DebugPort被置零那么调试器也接收不到任何调试信息。如果DebugPort可以被隐藏,那么这种反调试方法就要废掉了。
    初步研究,调试端口隐藏是可能的。要处理那些Dbgk**函数,如果隐藏后还要比较完美接收到调试信息,那么所有涉及到DebugPort的地方几乎都要处理,但这些Dbgk**函数比较多而且都是不导出的,处理起来比较麻烦。
    有没有简单点的方法呢?

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 437
活跃值: (273)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
2
可能 shadow walk 可以

原理 :http://blog.csdn.net/linux2linux/archive/2005/08/26/465701.aspx

以前搞了下 测试下 时间长了会蓝 不太稳定 不知道为什么   = =
2009-1-22 22:47
0
雪    币: 214
活跃值: (24)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
受教了,谢谢。
2009-1-22 23:03
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
hook Lpc系列函数,然后把Port改成0,碰到DebugPort的lpc信息直接转发或者直接处理。
2009-1-23 17:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
shadow walker原理上是可行的,不过用来隐藏数据内存的话......开销会比较大...
2009-1-24 16:10
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NaX
6
DebugPort=0不会再向调试器发送端口信息了,转而直接发向异常端口,所以HOOK了也收不到调试信息。
2009-1-24 16:50
0
游客
登录 | 注册 方可回帖
返回
//