[发明专利]使用内核模式重定向来改变代码执行路径无效
申请号: | 200680024258.9 | 申请日: | 2006-07-10 |
公开(公告)号: | CN101535969A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | N·本-茨维 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F13/24 | 分类号: | G06F13/24;G06F13/32 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈 斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 内核 模式 向来 改变 代码 执行 路径 | ||
发明领域
本发明一般涉及计算机软件领域。更具体地,本发明涉及用于更新正在存储器中运行的进程的方法。
发明背景
通常期望在无需改变执行模块原始在磁盘上的映像,也不必重启计算机的情况下改变正运行进程中的代码执行路径。实现此的一种方式是经由“热修补(Hotpatching)”机制。热修补是通过将来自软件更新的代码自动插入到正运行的进程内来允许安装软件更新而无需用户重启其计算机的存储器内修补机制。这意味着,系统文件可在其使用时被更新。
例如,热修补可通过在易受攻击的函数的开始处注入JMP指令来旁路正运行的进程中的该易受攻击函数。当该函数被调用时,它跳转至也由热修补机制加载到进程空间中的新函数。该方法的问题在于,注入的JMP指令可能会以导致不期望的行为的方式来重写多个指令。在热修补情况中,如果易受攻击函数的开始处在前5个字节中包括3个汇编操作码(1字节操作码、2字节操作码、2字节操作码),则JMP注入将替换所有5个字节。如果处理器正执行第一字节操作码,且注入改变了下两个操作码,则将导致不期望的处理器行为。
发明概述
一种用于重定向正运行的进程中的代码执行路径的机制。将1字节中断指令(例如,INT 3)插入到代码路径中。中断指令将控制传递给内核句柄,后者在执行替换函数执行之后,返回来继续执行该进程。替换函数驻留在内核句柄可访问的存储器空间中。可在无需重引导其上正运行的进程正在执行的计算设备而应用重定向机制。此外,可无需重写原始代码中多于一个的字节来应用重定向机制。
通过阅读以下参考附图进行的说明性实施例的详细描述,本发明的其它特征和优点将是显而易见的。
附图简述
当结合附图阅读时,前述概述以及以下的优选实施例的详细描述将被更好地理解。为说明本发明的目的,在附图中示出了本发明的示例性构造;然而,本发明不限于所公开的特定方法和工具。在附图中:
图1是示出可在其中实现本发明的各方面的示例性计算环境的框图;以及
图2示出了根据本发明执行的示例性进程。
优选实施例的详细描述
示例性计算环境
图1示出了可在其中实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本发明的各方面可用众多其它通用或专用计算系统环境或配置来操作。适合在本发明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。
本发明的各方面可在诸如程序模块等由计算机执行的计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。本发明的各方面也可以在分布式计算环境中实现,其中任务由通过通信网络或其它数据传输介质链接的远程处理设备执行。在分布式计算环境中,程序模块和其它数据可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总部件互连(PCI)总线(也被称为Mezzanine总线)、外围部件互连Express(PCI-Express)以及系统管理总线(SMBus)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680024258.9/2.html,转载请声明来源钻瓜专利网。