-
-
[求助]过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期)