seh的另一种用法
;在前面你可能已经熟悉了用seh修改context的eip实现跳转的方法
;这里我们来试试另一种方法,如果只是想在发生异常的时候转移,那更加简单
;理解的关键是在xHandler中,系统自动又为处理代码建立了异常处理
;所以,要废除掉!然后不交由系统处理,我们自己利用seh作一下跳板
;你可能已经在某些壳里面或病毒里面看到这种用法了...
;实际上我们也可以用这种方法来用于自己的目的,很方便...
;9X下测试通过...我还要出去...god save me!
.586
.model flat, stdcall
option casemap :none ; case sensitive
include c:\hd\hd.h
include c:\hd\mac.h
;~~~~~~~~~~~~~~~~~~~protos
;~~~~~~~~~~~~~~~~~~~~~~~~~
ASSUME fs:NOTHING
.CODE
__Start:
xor edi,edi
lea eax,[esp-8]
xchg eax,fs:[edi]
push offset xhandler
push eax
mov eax,[edi] ;test for
pop fs:[edi]
pop eax
_xit:
invoke ExitProcess,0
safePlace:
invoke MessageBox,0,CTEXT("come Here!"),CTEXT("Test"),0
jmp _xit
xhandler:
xor edi,edi
mov eax,fs:[edi]
mov esp,[eax]
pop fs:[edi] ;resume stack
;pop eax ;a little redundant
;push offset safePlace
mov [esp],offset safePlace ;why not act like this?
ret ; to return
END __Start (出处:赢政天下整理收藏)
相关文章:
相关软件:
→ 特别推荐
→ 热点TOP10
我为人人《《==》》人人为我
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright © 1999-2003
winzheng.com All Rights Reserved.
繁体版:由华琦数码技术提供
Powered
by:MeSky.Net
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。