首页
社区
课程
招聘
[求助]过EMET 5.5的EAF时无法有效调试
发表于: 2016-3-22 21:44 3240

[求助]过EMET 5.5的EAF时无法有效调试

2016-3-22 21:44
3240
事情是这样的,这是原帖:
链接地址

其中有一个过EAF的操作。

但是当我把一切安排好,使用windbg调试的时候,EMET并不会显示小绿钩,虽然依然会出现一个奇怪的单步异常

也符合kernel32的Export Table的地址,但是并没有硬件断点,如果在windbg里直接run,会弹出计算器,当然还是没有硬件断点。

如果我换成Immunity Debugger的测试,虽然EMET里面的小绿钩会出现,也会出现windbg中的单步异常,可是依然会正常弹出计算器。

下面的是我在该异常处的栈回溯:
0:000> k 10
 # ChildEBP RetAddr 
00 0018cfa8 77e62a10 ntdll!LdrpSnapModule+0x264
01 0018cfe0 77e5132e ntdll!LdrpMapAndSnapDependency+0x1d0
02 0018cff8 77e52ad2 ntdll!LdrpMapDllWithSectionHandle+0x7b
03 0018d050 77e72fe2 ntdll!LdrpMapDllNtFileName+0xde
04 0018d1ac 77e51b7c ntdll!LdrpMapDllSearchPath+0x1ad
05 0018d1f8 77e6e2f9 ntdll!LdrpProcessWork+0x80
06 0018d240 77e6adfe ntdll!LdrpLoadDllInternal+0xdb
07 0018d388 77e6e739 ntdll!LdrpLoadDll+0x92
08 0018d40c 5dc570a9 ntdll!LdrLoadDll+0xd9
WARNING: Stack unwind information not available. Following frames may be wrong.
09 0018d42c 5dc90fc1 EMET+0x270a9
0a 0018d470 5dc90ec3 EMET!EMETSendCert+0xd71
0b 0018d4b0 5dc57081 EMET!EMETSendCert+0xc73

很不一样,我完全摸不着头脑T_T。

我试过在程序ret处设置死循环EB FE,然后附加调试器,但是执行后的结果还是正常弹出计算器,但当我把死循环改回去,不用调试器运行的时候,又会被EMET拦截到EAF的错误。

请教各位大侠,这到底是哪里出错了,我应该怎么有效地调试呢?

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 544
活跃值: (264)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
过EAF最有效的方法就是直接硬编码LoadLibrary和GetProcAddress的偏移,哈哈~
2016-3-23 10:03
0
雪    币: 3840
活跃值: (1920)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
可是我调试的时候正常弹出计算器啊。它到底拦截了我啥。。。。。
2016-3-23 13:57
0
游客
登录 | 注册 方可回帖
返回
//