谁知道API的底层还用不用中断?(100分)

  • 主题发起人 主题发起人 dazzling
  • 开始时间 开始时间
D

dazzling

Unregistered / Unconfirmed
GUEST, unregistred user!
以前DOS时代弄过INT13(磁盘中断)INT21(DOS服务中断)等,挺好玩,当然做了个内存驻留钩子,一有磁盘访问就在屏幕上画个兔子出来,windows98下竟然也适用!不过色彩变了。现在到了XP,2003时代了,请问,它们的底层(尤指API)功能是否仍然通过调用INT中断来实现呢,CMD的DEBUG用INT13还能否写硬盘?? 谢谢了!
 
r3仍然使用中断,只不过是一个虚拟的软中断好像是int24,真正的中断需要在驱动里处理,如果你搞过驻留,那这个驱动也是一样的就是有了一些框架。
 
win2k有个所谓 int 2e,现在已经被 sysenter 代替了。<br>但实际上都不是真正意义上的中断。
 
API肯定还是用中断的
 
不是说了吗,使用的是软中断即虚拟中断,那个调用门不就是用了它吗,不过的确在r3的api这个级别上是没有以前那个意义上的中断了,否则也不会所有in、out失败。
 
以前中断的含义子 nt 平台上分成两个层次了,一个是用户态的 hook,一般应用程序都可以实现;另一个是系统内核级的中断调用,需要写驱动。
 
to:appfirst<br>我说的是更新层次的系统调用,INT最贴近硬件的了,软中断又是通过什么来实现?哪个中断号?直接操作硬件??<br><br><br>to:LSUPER<br>我意指整个XP的架构(包括API,HOOK等)是否完全基于以前的int21,int13等中断?
 
看起来,你需要系统了解一下了,看看wdm或vxp驱动方面的书吧,一般前一、两章就会给你解释的,或者看看有一本好像叫《winnt未公开的文档〉的书吧,书名记不清了。顺便说一下,那个中断号不是直接操作硬件,而是调用对应的内核api。
 
后退
顶部