首页
社区
课程
招聘
[旧帖] [求助]这是因为OD隐藏的不够深么? 0.00雪花
发表于: 2008-7-13 22:16 4085

[旧帖] [求助]这是因为OD隐藏的不够深么? 0.00雪花

2008-7-13 22:16
4085
调试一个Exe,如果直接运行,那是没有问题的。
如果用OD加载Exe运行,并且不使用隐藏插件,或者使用了隐藏插件但不选ZwQueryInformationProcess,都会被其检测出来。
如果勾选了ZwQueryInformationProcess了,就会一直出那种可以自动忽略的异常,并陷入死循环,中断后跟踪了一下,发现似乎是回调异常处理函数时又出了异常,结果就死循环了。
请教各位,这种情况下还有招么?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
对了,忘了说了,如果先执行起来再附加会直接导致进程退出……
2008-7-14 09:43
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是呀,是藏得不够深,遇到反调试了。
最好是藏在机箱的后面。
2008-7-14 10:24
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习中
2008-7-14 11:05
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
很想知道这些Exe反调试的原理,难道是类似于这个形式
try
{
      ZwQueryInformationProcess(/*非法内存地址作参数*/);
      g_bDebug = true;
}
catch(...)
{
      ZwQueryInformationProcess(/*正确参数*/);
      //正常继续
}

如果ZwQueryInformationProcess没有被挂API Hook自然是没问题,如果被挂了, ZwQueryInformationProcess就不抛异常了,所以被发现了在调试???

求解!!!
2008-7-14 11:16
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
再顶一次!!
2008-7-14 20:32
0
雪    币: 102
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
不清楚,但是我知道有好多种方法都能检测到调试器.具体见prince翻译的一篇文章
2008-7-14 22:38
0
雪    币: 4580
活跃值: (992)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
ZwQueryInformationProcess貌似是检查进程信息结构的,如果有调试器的话进程结构信息的某些位会不一样的说
2008-7-14 22:54
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
但是我已经使用HideOD插件对ZwQueryInformationProcess挂钩了啊?作为返回参数,那些标志位肯定不会再是调试状态了,只是这样还是被发现了……
Exe反调试,HideOD插件隐藏调试,Exe还反隐藏了?
2008-7-14 23:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
是呀,是藏得不够深,遇到反调试了。
最好是藏在机箱的后面。
2008-7-15 13:49
0
游客
登录 | 注册 方可回帖
返回
//