神呀,救救我吧!!这个程序怎么会蓝屏呢??!!

snowingedge 2001-05-04 07:58:00
这是今天下午写的一个程式。通过修改IDT来切入RING0,RING0的代码是清除CMOS密码。
运行以后,出现蓝屏的错误。但是,CMOS的密码确实也清除了。那为什么还会蓝屏??


.386
.model flat,stdcall
include\masm32\include\kernel32.inc
includelib\masm32\lib\kernel32.lib


.data
HookExceptionNumbe equ 5
null dd 0
.code
start:
push eax
push ebx
push ebp
sidt [esp-2]
pop ebx

add ebx,HookExceptionNumbe*8+04h

cli

mov ebp,ebx
mov bp,[ebx-04h]
lea eax, MyHookFuction
mov [ebx-04h],ax
shr eax,16
mov [ebx+2],ax

int HookExceptionNumbe

MyHookFuction PROC
mov al,10h
out 70h,al
mov al,10h
out 71h,al
iret
MyHookFuction endp

mov [ebx-04h],bp
shr ebp,16
mov [ebx+2],bp ;恢复IDT

pop ebp
pop ebx
pop eax

push null
CALL ExitProcess
end start
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowingedge 2001-05-11
  • 打赏
  • 举报
回复
多谢mincer兄!!!!
mincer 2001-05-08
  • 打赏
  • 举报
回复

看过了,有两处错误(都是致命的,不死才见鬼)
1)在32位下中断返回用iretd,iret是16位下的,要修改cs值的,32位中断不再去0000:0000找向量了。。。。
2)进程错误,中断返回后怎么又执行MyHookFuction?正确的程序如下:

.386
.model flat,stdcall
include\masm32\include\kernel32.inc
includelib\masm32\lib\kernel32.lib


.data
HookExceptionNumbe equ 5
null dd 0
.code
start:
push eax
push ebx
push ebp
sidt [esp-2]
pop ebx

add ebx,HookExceptionNumbe*8+04h

cli

mov ebp,ebx
mov bp,[ebx-04h]
lea eax, MyHookFuction
mov [ebx-04h],ax
shr eax,16
mov [ebx+2],ax

int HookExceptionNumbe
mov [ebx-04h],bp
shr ebp,16
mov [ebx+2],bp

pop ebp
pop ebx
pop eax

push null
CALL ExitProcess
MyHookFuction PROC
mov al,10h
out 70h,al
mov al,10h
out 71h,al
iretd
MyHookFuction endp


end start
mincer 2001-05-08
  • 打赏
  • 举报
回复
俺放学了,帮你看看。。。
madmanahong 2001-05-08
  • 打赏
  • 举报
回复
HookExceptionNumbe*8+04h
what's the mean?
brucegong 2001-05-05
  • 打赏
  • 举报
回复



找masm32的例程比较一下



pgcat 2001-05-05
  • 打赏
  • 举报
回复
没有返回的中断?
snowingedge 2001-05-04
  • 打赏
  • 举报
回复
哪里有问题???pls tell me!!!!
brucegong 2001-05-04
  • 打赏
  • 举报
回复




你的退出代码·····



21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧