首页
社区
课程
招聘
求助 如何用ollydbg跟踪正确的seh流程?
2004-6-25 15:47 6763

求助 如何用ollydbg跟踪正确的seh流程?

2004-6-25 15:47
6763
我在破解程序时经常碰到结构化异常修改文件流程,请问怎样在ollydbg中观察异常处理流程?另外,有一个程序时通过seh执行正常功能的,如下:
00403B0C   . CC             INT3  ;引发seh,进入正常流程
00403B0D   . 90             NOP
00403B0E   . 68 263B4000    PUSH 00403B26
00403B13   . 8D55 B8        LEA EDX,DWORD PTR SS:[EBP-48]
00403B16   . 8D4D CC        LEA ECX,DWORD PTR SS:[EBP-34]
00403B19   . 52             PUSH EDX
00403B1A   . 6A 00          PUSH 0
00403B1C   . 894D B8        MOV DWORD PTR SS:[EBP-48],ECX
00403B1F   . FF15 60104000  CALL DWORD PTR DS:[<&MSVBVM50.__vbaAryDe>;  MSVBVM50.__vbaAryDestruct

此时在ollydbg的查看seh链的内容如下:
SEH chain of 主要线程,项目 0
地址=0012FB90
SE 句柄=00401596

而401596的内容为:
00401596   $-FF25 C4104000  JMP DWORD PTR DS:[<&MSVBVM50.__vbaExcept>;  MSVBVM50.__vbaExceptHandler; Structured exception handler
我在选项-〉调试->异常中忽略了int 3异常,可为何ollydbg还是报被调试的程序无法处理异常?
望高手不吝赐教!

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

收藏
免费 3
打赏
分享
最新回复 (2)
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
lzqgj 6 2004-6-25 16:39
2
0
我记得VB有自己的一套处理异常的方法,在XP下用shift+F8引发异常后可进到ntdll.dll中进行处理,然后调用msvbvm60.dll,由它完成自己的异常处理。最好的办法是自己做个VB程序来跟踪,找到异常处理函数的入口,对MSVBVM60.DLL来说这入口是固定的。
雪    币: 3676
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老牜lyh 2018-12-23 21:45
3
0
lzqgj 我记得VB有自己的一套处理异常的方法,在XP下用shift+F8引发异常后可进到ntdll.dll中进行处理,然后调用msvbvm60.dll,由它完成自己的异常处理。最好的办法是自己做个VB程序来跟 ...
谢谢老师的指点
游客
登录 | 注册 方可回帖
返回