首页
社区
课程
招聘
[分享]辅助调试UnhandledExceptionFilter 用的WinDBG Script
2013-3-13 16:00 4746

[分享]辅助调试UnhandledExceptionFilter 用的WinDBG Script

2013-3-13 16:00
4746
菜鸟交流帖,没啥技术含量,大牛就直接跳过吧。
有热心的大牛给些指导意见 当然更加欢迎。

众所周知,调试使用了SetUnhandledExceptionFilter的SEH时,我们需要修改NtQueryInformationProcess的查询结果,否则所设置的UnhandledExceptionFilter 没机会运行。

这个script就是简单地修改下查询结果,只有一句:

bp NtQueryInformationProcess ".if (poi(@esp)-kernel32!UnhandledExceptionFilter<0x200) {.if(poi(@esp + 8) == 7){r @$t0=poi(@esp + 0xc);bp /1 poi(@esp) \".if($t0){ed @$t0 0};gc\"}};gc"

用法就是 当被调进程异常中断在windbg中的时候,输入上面的命令 或者 $$><执行附件里的txt

思路大体上就是 在 NtQueryInformationProcess处 下个断点,断下来之后 判断 是不是从 UnhandledExceptionFilter里面调用进来的、传第二个参数是否等于ProcessDebugPort,是的话则记录下接收查询结果的地址 和 返回地址,然后在返回地址处下了个断点,在这个断点命中的时候 修改查询结果。

我只在win7 64 上调试了一个32位小exe,能用。不知道其他环境下 能不能用。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 3730
活跃值: (3967)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caolinkai 2013-3-19 09:25
2
0
支持啊。。。。。。。。。。。。。。。。。。。
雪    币: 224
活跃值: (962)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
樊辉 2013-4-2 20:54
3
0
我擦,试了一下真管用。。。竟然没人回。
游客
登录 | 注册 方可回帖
返回