回 帖 发 新 帖 刷新版面

主题:中断向量的疑问

请问如何在windows xp 的环境下用masm 来使用中断的向量
就是如何能够用int 指令;
在xp 的环境下中断向量是保护起来的.怎么办?

回复列表 (共3个回复)

沙发

BIOS里面不少中断都被xp保护起来了,这部分中断除非编写xp的驱动级代码,否则是不能直接访问的。

不过xp的命令提示符虚拟了DOS的部分内核,有些原DOS提供的中断以及DOS内核int 21h的部分功能仍然可以使用。

你想试验BIOS中断的话,可以通过VMWARE装一个DOS。

板凳


VMWARE 是什么啊?

3 楼

nt kernel 使用的不是 real mode 的 中断向量表, 而是 ptr mode 的
int gate。 可以用 hook IDT 方法替换 IDT 中相应的描述符,在你自己
的 ISR 中完成功能在 call 原始的 int。修改需要有 ring 0 权限,这个
跟 9x 不一样 sidt 虽然不是特权指令,但修改需要在 ring 0 下。

我来回复

您尚未登录,请登录后再回复。点此登录或注册