-
-
这段程序为何会蓝屏
-
发表于:
2004-9-9 02:27
4036
-
程序自己建立了一个SEH handle,
来处理int 1的异常,可是一运行
就蓝屏了!?
.586
.model flat,stdcall
option casemap:none
include kernel32.inc
include user32.inc
include windows.inc
includelib kernel32.lib
includelib user32.lib
.data
szCaption db "SEH",0
szTextSTEP db "程序执行了单步操作!",0
szText db "程序正常运行了!",0
SafeEsp dd 0
assume fs:nothing
.code
start:
push SEH ;自己的结构化异常处理函数
push fs:[0]
mov fs:[0],esp ;加入到SEH链表中
mov [SafeEsp],esp
int 1
nop
invoke MessageBox,0,offset szText,offset szCaption,MB_OK
jmp Exit
SEH:
invoke MessageBox,0,offset szTextSTEP,offset szCaption,MB_OK
Exit:
mov esp,[SafeEsp]
pop fs:[0]
add esp,4
invoke ExitProcess,0
end start
end
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)