xieglt 发表于 2021-2-5 17:49:51

挂接 int 09 的内存常驻程序为何在玩 金庸群侠传 的时候无法激活

写了一个内存常驻程序,挂接的键盘中断 int 09 ,按小键盘上的 * 激活。
激活后检测显示模式,如果为 0x13 (320 * 200 * 256色)则截屏保存成文件,
然后切换成 0x3(80*25*16色)文本模式,按任意键切换回0X13 模式并恢复显示内容,交出控制权。
测试正常。

但是在 运行游戏 金庸群侠传 的时候发现无法激活 TSR
请问是什么原因?

jackz007 发表于 2021-2-5 18:48:57

      应该是游戏无条件接管了 int 9 中断,却没有 hook 你所编写的 int 9 中断处理程序。

xieglt 发表于 2021-2-5 20:20:53

jackz007 发表于 2021-2-5 18:48
应该是游戏无条件接管了 int 9 中断,却没有 hook 你所编写的 int 9 中断处理程序。

再挂个时钟中断检测中断是否被修改,如果被修改就改回来。这样是否会破坏前台程序的功能?

jackz007 发表于 2021-2-5 22:35:17

xieglt 发表于 2021-2-5 20:20
再挂个时钟中断检测中断是否被修改,如果被修改就改回来。这样是否会破坏前台程序的功能?

       别人之所以要修改它,说明要让 int 9 发挥特殊作用,如果强行改掉,游戏八成会玩不成。

xieglt 发表于 2021-2-5 22:55:19

jackz007 发表于 2021-2-5 22:35
别人之所以要修改它,说明要让 int 9 发挥特殊作用,如果强行改掉,游戏八成会玩不成。

估计没什么特殊作用,就是为了防修改器。控制键盘输入用软中断16更好。
页: [1]
查看完整版本: 挂接 int 09 的内存常驻程序为何在玩 金庸群侠传 的时候无法激活