WEB开发网
开发学院网络安全黑客技术 SEH 结构化异常处理(2) 阅读

SEH 结构化异常处理(2)

 2007-01-14 16:44:41 来源:WEB开发网   
核心提示: 注:windowsxp-sp1平台.只要是同样平台,就可以按下面步骤,来到系统的异常处理回调函数.熟悉一下这段代码,应该有好处,SEH 结构化异常处理(2)(2),当发生异常时,可以快速找到那个callecx异常处理回调函数

注:windowsxp-sp1平台.只要是同样平台,就可以按下面步骤,来到系统的异常处理回调函数.

熟悉一下这段代码,应该有好处,当发生异常时,可以快速找到那个callecx异常处理回调函数,从而找到程序自己的异常处理代码。

00401000>/$ 6851104000 pushseh2.00401051// SEhandlerinstallation
                       //只有在这个401051上设断点,才能跟到异常处理代码(SEH代码)处.
                       //即要提前在err结构的handler地址上设断点,否则代码就可能跑飞!
                       //跟踪seh的关键断点!!!!
00401005 |. 64:FF3500000>pushdwordptrfs:[0]
0040100C |. 64:892500000>movdwordptrfs:[0],esp
00401013 |. BE00000000 movesi,0
00401018 |. 8B06     moveax,dwordptrds:[esi] //产生异常,来到代码[1]
0040101A |. 6A00    push0                      ;/Style=MB_OK|MB_APPLMODAL
0040101C |. 6800304000 pushseh2.00403000                ;|Title="SEH"
00401021 |. 680F304000 pushseh2.0040300F                ;|Text="SEH程序没有运行"
00401026 |. 6A00    push0                      ;|hOwner=NULL
00401028 |. E857000000 call<jmp.&USER32.MessageBoxA>          ;MessageBoxA
0040102D |. 6A00    push0                      ;/Style=MB_OK|MB_APPLMODAL
0040102F |. 6800304000 pushseh2.00403000                ;|Title="SEH"
00401034 |. 6804304000 pushseh2.00403004                ;|Text="Hello,SEH!"
00401039 |. 6A00    push0                      ;|hOwner=NULL
0040103B |. E844000000 call<jmp.&USER32.MessageBoxA>          ;MessageBoxA
00401040 |. 64:8F0500000>popdwordptrfs:[0]
00401047 |. 83C404   addesp,4
0040104A |. 6A00    push0                      ;/ExitCode=0
0040104C . E839000000 call<jmp.&KERNEL32.ExitProcess>         ;ExitProcess
00401051 /$ 55      pushebp                     ; Structuredexceptionhandler
00401052 |. 8BEC     movebp,esp
00401054 |. 53      pushebx
00401055 |. 8B4510   moveax,dwordptrss:[ebp+10]
00401058 |. 8D1D2D104000leaebx,dwordptrds:[40102D]
0040105E   8998B8000000movdwordptrds:[eax+B8],ebx
00401064 |. 33DB     xorebx,ebx
00401066 |. 895804   movdwordptrds:[eax+4],ebx
00401069 |. 895808   movdwordptrds:[eax+8],ebx
0040106C |. 89580C   movdwordptrds:[eax+C],ebx
0040106F |. 895810   movdwordptrds:[eax+10],ebx
00401072 |. C7401855010>movdwordptrds:[eax+18],155
00401079 |. B800000000 moveax,0
0040107E |. 5B      popebx
0040107F |. C9      leave
00401080 . C21000   retn10

代码[1]

上一页  1 2 3 4 5  下一页

Tags:SEH 结构化 异常

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接