阅读:1319回复:2
对 wuyanfeng 开发的调试工具的两个疑问?
停止WIN的运行转道调试程序的过程有两个关键的问题要解决!一:保护WIN的内存影象。二:停止WIN的进程的轮换和非屏蔽中断的屏蔽。第一的问题的关键是读取WIN的GDT表了解内存的分配防止非法写入。第二个是要修改非屏蔽中断的入口,这个的关键是要读取中断描述付表并修改很可能也要归到GDT表的读取和修改的问题。这是INTER硬件保护的一部分,不知道 wuyanfeng 是怎么解决的如果有人知道这个简单问题的答案请告诉我。 :(
|
|
沙发#
发布于:2004-07-13 22:34
停止WIN的运行转道调试程序的过程有两个关键的问题要解决!一:保护WIN的内存影象。二:停止WIN的进程的轮换和非屏蔽中断的屏蔽。第一的问题的关键是读取WIN的GDT表了解内存的分配防止非法写入。第二个是要修改非屏蔽中断的入口,这个的关键是要读取中断描述付表并修改很可能也要归到GDT表的读取和修改的问题。这是INTER硬件保护的一部分,不知道 wuyanfeng 是怎么解决的如果有人知道这个简单问题的答案请告诉我。 :( 这里问题很简单,你要挂接你要用到的所有中断.例如 硬件中断象 键盘,鼠标,时钟,串口,并口.其他中断调试用的 int 3,int 1 这样你在你挂接的中断被激活时,你要屏蔽掉你不用的硬件中断,你可以开鼠标,键盘,时钟,在你激活期间的产生的所有硬件中断你都自己处理,不要再传给原来的 Windows 中断处理程序,这样你就控制了 cpu 的所有流程,windows 得不到任何控制权,他也就不能进行任务切换了. |
|
板凳#
发布于:2004-07-14 07:47
其实还有一个方法,如果下中断是用的0xcc,他的中断级别要高于键盘,鼠标。在处理0xcc中断的时候,如果有键盘,鼠标中断发生,根本不会在window中得到响应!至于任务切换,级别更低,不用考虑!
时钟中断的级别要高于0xcc,这个要自己接管! 不过需要注意的是,退出0xcc处理过程的时候,需要清空所有已发生中断!否则,可能会出现IRQL级别错误! 这个方法没有 wuyanfeng 的好,他的方法是目前比较通用的!稳定性好一些! |
|