[发明专利]文件打开方法及装置有效
申请号: | 201110260036.X | 申请日: | 2011-09-05 |
公开(公告)号: | CN102982031A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 谢飞;高小明;马劲松;刘桂泽 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 何文彬 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 打开 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,特别涉及一种文件打开方法及装置。
背景技术
随着网络的迅速发展,信息数量日益增加,存储信息的各种电子文件数量也越来越多。无论是在日常的休闲娱乐中,还是在紧张忙碌的工作中,都常常会看到或用到各种各样的文件,打开文件也几乎成为了人们每天必不可少的事。
现有的文件打开方式都是通过常规的Windows API(Application Programming Interface,应用程序编程接口)机制实现,且文件的打开操作会被文件过滤驱动捕获和控制。其中,文件过滤驱动是一种Windows驱动程序,其依附在文件系统上,可以截获系统对文件的访问,并提供过滤控制等功能。在装有杀毒软件的机器上,文件打开动作被文件过滤驱动捕获后,会激活一次病毒扫描。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的文件打开方式中,文件打开时激活的病毒扫描在多数情况下是不必要的,且会加重系统负担;另外,在多个杀毒软件共存的情况下,其中一款杀毒软件的文件打开操作会引起另一款杀毒软件的病毒扫描,扫描又会打开文件,另一款杀毒会被激活,然后再去扫描,由此引发文件的重复打开,导致系统出现兼容性问题。
发明内容
为了在打开文件的同时,避免出现因文件的重复打开而引起的兼容性问题以及加重系统负担的问题,本发明实施例提供了一种文件打开方法及装置。所述技术方案如下:
一方面,提供了一种文件打开方法,所述方法包括:
捕获文件打开动作,并获取对应的原始文件系统设备对象和原始文件系统分发函数地址;
直接向所述原始文件系统设备对象所在的文件系统发送文件打开请求,并由所述文件系统将所述文件打开请求传递给所述原始文件系统分发函数地址所对应的原始文件系统分发函数,由所述原始文件系统分发函数执行文件打开操作。
进一步地,所述捕获文件打开动作之前,还包括:
搜索32位动态链接库文件的导入表,以预设的函数地址替换所述导入表中保存的函数地址;
相应地,由所述原始文件系统分发函数执行文件打开操作时,具体包括:
由所述原始文件系统分发函数按照替换后的预设的函数地址执行文件打开操作。
进一步地,所述捕获文件打开动作之后,还包括:
记录所述文件打开动作所对应的参数;
相应地,由所述原始文件系统分发函数执行文件打开操作时,具体包括:
由所述原始文件系统分发函数按照记录的参数执行文件打开操作。
其中,所述获取对应的原始文件系统设备对象,具体包括:
通过预先编写的驱动程序在记录有文件系统设备对象的VPB结构中查找对应的原始文件系统设备对象。
所述获取对应的原始文件系统分发函数地址,具体包括:
以BOOT方式启动预先编写的驱动程序,通过所述预先编写的驱动程序获取对应的原始文件系统分发函数地址。
所述直接向所述原始文件系统设备对象所在的文件系统发送文件打开请求,具体包括:
使用IoCreateFileSpecifyDeviceObjectHint函数,并以所述原始文件系统设备对象为参数,将所述文件打开请求直接发送给所述原始文件系统设备对象所在的文件系统。
另一方面,还提供了一种文件打开装置,所述装置包括:
捕获模块,用于捕获文件打开动作;
第一获取模块,用于在所述捕获模块捕获到文件打开动作后,获取对应的原始文件系统设备对象;
第二获取模块,用于在所述捕获模块捕获到文件打开动作后,获取对应的原始文件系统分发函数地址;
发送模块,用于直接向所述第一获取模块获取到的原始文件系统设备对象所在的文件系统发送文件打开请求,并由所述文件系统将所述文件打开请求传递给所述第二获取模块获取到的原始文件系统分发函数地址所对应的原始文件系统分发函数;
打开模块,用于由所述原始文件系统分发函数执行文件打开操作。
进一步地,所述装置,还包括:
替换模块,用于搜索32位动态链接库文件的导入表,以预设的函数地址替换所述导入表中保存的函数地址;
相应地,所述打开模块,具体用于由所述原始文件系统分发函数按照所述替换模块替换后的预设的函数地址执行文件打开操作。
进一步地,所述装置,还包括:
记录模块,用于记录所述捕获模块捕获到的文件打开动作所对应的参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110260036.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:盘式驱动电机的测量装置
- 下一篇:一种雕刻机的安全防护装置