浅谈 NT下的 int 13,ah=42h By 竹闲(于2009-12-21发表)

   NT下的 int 13,ah=42h 通常返回cf=1,
原因是 ntVdm.exe 拦截了该中断,拒绝dos程序的请求。
  可以用32位dll重新拦截int13,将dos程序的请求
 转为 createFile、ReadFile,使旧程序继续运行。
  附件的test13.com是dos程序,可以用debug跟踪
查看它调用int13的情况。
  附件的int13_42.dll是win32动态连接库,
被test13.com利用BOP旨令装入内存、重新拦截int13。
在2K、xp下可以工作。在vista下须被复制到system32
目录下(vista的ntvdm坚持不在当前目录读dll),
而且用户须以管理员身份运行(以令createFile成功)。
下载...
并不是所有的贴子都是原创,此时作者均指发表的人而不是文章的作者,作者会说明是否是转贴