2012年7月4日星期三

Exception.asm


;made by correy
;Email:leguanyuan@126.com
;QQ:112426112
;rc me.rc
;ml /coff test.asm /link /subsystem:windows me.res
.386
.model flat,stdcall
option casemap:none
include     user32.inc
includelib user32.lib
include     kernel32.inc
includelib kernel32.lib
.data
correy db "made by correy",0
.code
ep proc c lpep
    mov esi,lpep
    mov edi,[esi+4]
    mov esi,[esi]
    test esi,0
    je nc
    mov eax,1
    ret
    nc:
    mov [edi+184],offset next
    mov eax,-1
    ret
ep endp
start:
    invoke SetUnhandledExceptionFilter,addr ep
    xor eax,eax
    mov dword ptr [eax],0
next:
    invoke MessageBox,0,addr correy,addr correy,0
    ret
    end start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;made by correy
;Email:leguanyuan@126.com
;QQ:112426112
;rc me.rc
;ml /coff test.asm /link /subsystem:windows me.res
.386
.model flat,stdcall
option casemap:none
;include     windows.inc
include     user32.inc
includelib user32.lib
;include     kernel32.inc
;includelib kernel32.lib
.const
correy db "made by correy",0
.code
seh   proc c _lpExceptionRecord,_lpSEH,_lpContext,_lpDispatcherContext
      ;mov   esi,_lpExceptionRecord
      mov   edi,_lpContext
      mov   [edi+184],offset next
      mov   eax,0
      ret
seh   endp
start:
    assume fs:nothing
    push offset seh
    push fs:[0]
    mov   fs:[0],esp
    xor   eax,eax
    mov dword ptr [eax],0
next:
    invoke MessageBox,0,addr correy,addr correy,0
    pop   fs:[0]
    pop   eax
    ret
end start

没有评论:

发表评论