gantleman
驱动小牛
驱动小牛
  • 注册日期2003-10-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望127点
  • 贡献值1点
  • 好评度18点
  • 原创分0分
  • 专家分0分
阅读:1318回复:2

对 wuyanfeng 开发的调试工具的两个疑问?

楼主#
更多 发布于:2004-07-13 19:00
停止WIN的运行转道调试程序的过程有两个关键的问题要解决!一:保护WIN的内存影象。二:停止WIN的进程的轮换和非屏蔽中断的屏蔽。第一的问题的关键是读取WIN的GDT表了解内存的分配防止非法写入。第二个是要修改非屏蔽中断的入口,这个的关键是要读取中断描述付表并修改很可能也要归到GDT表的读取和修改的问题。这是INTER硬件保护的一部分,不知道 wuyanfeng 是怎么解决的如果有人知道这个简单问题的答案请告诉我。 :(
wuyanfeng
驱动小牛
驱动小牛
  • 注册日期2003-08-26
  • 最后登录2011-05-06
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望127点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-13 22:34
停止WIN的运行转道调试程序的过程有两个关键的问题要解决!一:保护WIN的内存影象。二:停止WIN的进程的轮换和非屏蔽中断的屏蔽。第一的问题的关键是读取WIN的GDT表了解内存的分配防止非法写入。第二个是要修改非屏蔽中断的入口,这个的关键是要读取中断描述付表并修改很可能也要归到GDT表的读取和修改的问题。这是INTER硬件保护的一部分,不知道 wuyanfeng 是怎么解决的如果有人知道这个简单问题的答案请告诉我。 :(

这里问题很简单,你要挂接你要用到的所有中断.例如 硬件中断象 键盘,鼠标,时钟,串口,并口.其他中断调试用的 int 3,int 1 这样你在你挂接的中断被激活时,你要屏蔽掉你不用的硬件中断,你可以开鼠标,键盘,时钟,在你激活期间的产生的所有硬件中断你都自己处理,不要再传给原来的 Windows 中断处理程序,这样你就控制了 cpu 的所有流程,windows 得不到任何控制权,他也就不能进行任务切换了.
xiangshifu
驱动小牛
驱动小牛
  • 注册日期2002-07-25
  • 最后登录2013-10-18
  • 粉丝1
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-14 07:47
其实还有一个方法,如果下中断是用的0xcc,他的中断级别要高于键盘,鼠标。在处理0xcc中断的时候,如果有键盘,鼠标中断发生,根本不会在window中得到响应!至于任务切换,级别更低,不用考虑!

时钟中断的级别要高于0xcc,这个要自己接管!

不过需要注意的是,退出0xcc处理过程的时候,需要清空所有已发生中断!否则,可能会出现IRQL级别错误!

这个方法没有 wuyanfeng 的好,他的方法是目前比较通用的!稳定性好一些!
游客

返回顶部