[发明专利]软件运行时执行恢复与重放方法无效
申请号: | 200710049856.8 | 申请日: | 2007-08-27 |
公开(公告)号: | CN101154185A | 公开(公告)日: | 2008-04-02 |
发明(设计)人: | 梁晓;曹跃;李毅超;李晓冬;肖武 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及计算机二进制程序运行时的执行恢复与重放方法。该系统由代码注入部件、函数拦截部件、检测点设置部件和执行恢复部件组成。该方法是:系统启动目标二进制程序,由代码注入部件将检测点设置部件和执行恢复部件注入到目标二进制程序的进程空间,通过函数拦截部件监控记录进程、文件、注册表、网络等内核对象的行为,并由检测点设置部件在程序运行过程中安装检测点,得到恢复命令后,执行恢复部件将目标二进制程序的运行状态恢复到对应检测点位置的状态。本发明适用于对未知二进制程序的分析与容错,提高分析人员的效率,支持对软件运行时错误的分析和修复。 | ||
搜索关键词: | 软件 运行 执行 恢复 重放 方法 | ||
【主权项】:
1.软件运行时执行恢复与重放方法,其特征在于包括如下组成部件:代码注入部件:检测点设置部件和执行恢复部件都是以动态链接库(DLL)的方式存在的,它们的功能独立于目标二进制程序。为了能将检测点设置与恢复的功能增加到目标二进制程序,必须通过代码注入方式将动态链接库的代码远程注入到目标二进制程序中,并按代码的指令执行相应的功能。函数拦截部件:操作系统内核对象的状态是进程状态重要的一部分。微软Windows系统将内核对象的数据结构保存在内核空间中,而内核空间不能由用户线程直接访问,如果需对内核对象进行访问和操作,必须通过系统提供的应用程序接口(API)调用。因此保存系统内核对象状态的一个可行的方法是截获对内核对象进行访问和操作的API。从截获的API中可以获知操作内核对象的API调用、参数、返回值等,将他们都保存到检查点文件中。当程序出现故障进行恢复时,将重新执行保存的有关API调用,创建及操作内核对象来恢复其状态。函数拦截部件包含对系统进程、文件、注册表、网络等API函数的拦截。检测点设置部件:进程状态由其用户地址空间的状态和内核对象的状态组成。因此检测点设置部件分为用户地址空间状态的保存,内核对象状态的保存两部分。执行恢复部件:执行恢复部件利用检测点设置部件记录的进程用户地址空间信息,以及函数拦截部件记录的内核对象操作信息,将目标二进制程序重新设置为对应检测点位置的状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200710049856.8/,转载请声明来源钻瓜专利网。
- 上一篇:背光源及其发光二极管模组
- 下一篇:一种现浇砼用轻质胎模构件