相关文章  
  • 菜鸟必备:PC端口完全解析
  • 网络风险严峻 VoIP安全迫在眉睫
  • 用Cisco产品和功能构建安全的网络
  • 多重保护 谈企业交换机安全措施
  • Cisco多个产品TACACS+访问认证绕过漏洞
  • [图文]无线攻防:破解WEP密钥
  • 黑客兵器:选择好你的漏洞扫描工具
  • 谁误导了浏览器——浏览器劫持
  • 优化企业服务器系统安全环境,就这么几招
  • 局域网数据链路层网络安全
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    详谈HOOK API的技术10

    F0指令(机器码CDF0),然后在IDT里设置一个中断门,指向我们的代码。我这里给出一个HOOK代码:

        lea ebp,[esp+12] //模拟原指令mov ebp,esp的功能

        pushfd         //保存现场

        pushad         //保存现场

        //在这里做你想做的事情

        popad         //恢复现场

        popfd         //恢复现场

        iretd         //返回原指令的下一条指令继续执行原函数(71A21AF7地址处)

        这种方法很好,但缺点是要在IDT设置一个中断门,也就是要进RING0.

        3,更改CALL指令的相对地址(CALL分别在71A21B12、71A21B25、71A21B64,但前面2条CALL之前有一个条件跳转指令,有可能不被执行到,因此我们要HOOK 71A21B64处的CALL指令)。为什么要找CALL指令下手?因为它们都是5字节的指令,而且都是CALL指令,只要保持操作码0xE8不变,改变后面的相对地址就可以转到我们的HOOK代码去执行了,在我们的HOOK代码后面再转到目标地址去执行。

        假设我们的HOOK代码在71A20400处,那么

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

         

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

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