[发明专利]一种动态链接库的检测方法和装置有效
| 申请号: | 201410505110.3 | 申请日: | 2014-09-26 |
| 公开(公告)号: | CN105511848B | 公开(公告)日: | 2020-03-03 |
| 发明(设计)人: | 张恺 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/07 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 链接 检测 方法 装置 | ||
本发明实施例公开了一种动态链接库的检测方法和装置,用于自动完成对DLL的检测并进行修复提示。本发明实施例方法包括:检测操作系统弹出的异常窗口事件;判断所述异常窗口事件是否为动态链接库DLL缺失事件;若所述异常窗口事件为所述DLL缺失事件,向所述操作系统面向的服务对象发送提示信息,所述提示信息用于提示所述服务对象对所述DLL缺失事件对应的程序进行修复。
技术领域
本发明涉及计算机技术领域,尤其涉及一种动态链接库的检测方法和装置。
背景技术
随着计算机技术的发展,客户端软件越来越广泛,为了能缩小软件体积,便于独立开发和更好的发布迭代,在开发软件时采用动态链接库(英文全称Dynamic Link Library,英文简称DLL)的方法,让各个模块之间保持相互独立,这样便可达到前述效果。但与此同时,这样做也会带来一些难以避免的问题,比如:动态链接库的版本与可执行程序的版本不一致,动态链接库被误删或改名等等,这些情况都会导致程序启动或运行时发生DLL缺失,进而可能导致程序异常结束,甚至崩溃的情况。现有技术中在启动程序时无法发现DLL缺失,也无法对DLL进行修复,导致每次启动程序时只有当程序启动失败时才能确定DLL缺失。
发明内容
本发明实施例提供了一种动态链接库的检测方法和装置,用于自动完成对DLL的检测并进行修复提示。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种动态链接库的检测方法,包括:
检测操作系统弹出的异常窗口事件;
判断所述异常窗口事件是否为动态链接库DLL缺失事件;
若所述异常窗口事件为所述DLL缺失事件,向所述操作系统面向的服务对象发送提示信息,所述提示信息用于提示所述服务对象对所述DLL缺失事件对应的程序进行修复。
第二方面,本发明实施例还提供一种动态链接库的检测装置,包括:
事件检测模块,用于检测操作系统弹出的异常窗口事件;
DLL判断模块,用于判断所述异常窗口事件是否为动态链接库DLL缺失事件;
提示信息发送模块,用于当所述异常窗口事件为所述DLL缺失事件时,向所述操作系统面向的服务对象发送提示信息,所述提示信息用于提示所述服务对象对所述DLL缺失事件对应的程序进行修复。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,首先检测操作系统弹出的异常窗口事件,判断异常窗口事件是否为DLL缺失事件,若异常窗口事件为DLL缺失事件,向操作系统面向的服务对象发送提示信息,其中,提示信息用于提示服务对象对DLL缺失事件对应的程序进行修复。本发明实施例中由于对操作系统弹出的异常窗口事件进行检测,可以通过异常窗口事件判断出有程序产生了DLL缺失,向操作系统面向的服务对象发送提示信息可以使服务对象及时针对DLL缺失的程序进行修复,从而可以实现DLL缺失的自动感知,服务对象也可以基于这个自动感知对发生DLL缺失的程序完成修复,以使得程序可以正常完成启动。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种动态链接库的检测方法的流程方框示意图;
图2为本发明实施例提供的动态链接库的检测方法的一种实现过程示意图;
图3为本发明实施例提供的使用SSDT Hook的实现过程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410505110.3/2.html,转载请声明来源钻瓜专利网。





