相关文章  
  • 变Win 2003为工作站(下)
  • 如何在Win 2003中重置Internet协议
  • 在Win 2003配置DNS的Internet访问
  • 设置Win 2003的本地策略应用
  • Win 2000系统引导过程详解(上)
  • Win 2000系统引导过程详解(中)
  • Win 2000系统引导过程详解(下)
  • 《优化xp大全》之系统优化设置
  • 《优化xp大全》之硬件优化
  • 《优化xp大全》之其他
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    解析Windows2000的IDT扩展机制7

    stem Service Interrupt,int 0x2e)来实现的,通过截获软件中断同样可以达到监视并修改系统服务调用的功能。在此我们主要讨论的是为软件中断创建钩子,不过对于硬件中断和异常也同样不例外,我们同样可以将本文提到的方法应用于硬件中断和异常。比如我们也可以通过截获键盘驱动的中断调用来书写内核级的键盘记录器,它可以直接对每次击键和释放进行操作,效果是非常的明显,不过这还需要使用到一些微软为我们提供的与硬件中断钩子相关的函数。
      
      5> 如何创建软件中断钩子?
      
       其实创建软件中断钩子的过程应该是比较明显了,下面我们将先简要介绍一下创建Hook的过程,然后以实际代码进行具体的讲解。首先我们通过汇编指令sidt(sidt: Store Interrupt Descriptor Table Register;lidt: Load Interrupt Descriptor Table Register)来获取IDT的基地址IDTBase,然后我们在中断描述符表中搜寻我们需要HOOK的中断号HOOKINTID,它应该是在0-255内的一个整数,虽然最新的Intel处理器声称支持8192个中断描述符单元,但由于某些限制原因,仍然只能处理前256个中断描述门。在找到我们需要Hook的中断描述门后,将它原本的中断执行代码偏移量(32位)保存

    页码:[1] [2] [3] [4] [5] [6] [7] [8] [9]7页、共9页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved