一种文件解锁的方法及装置的制造方法_5

文档序号:8412799阅读:来源:国知局
目标文件路径在对象管理器中查找对应的文件对象解析例程;
[0228]第二 IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/o请求包,所述I/O请求包中包括依据所述属性查询请求生成的目标文件属性查询操作信息;并将所述I/o请求包发送至预置的文件系统下层设备的原始地址,由所述文件系统下层设备依据所述目标文件属性查询操作信息,查询目标文件的属性。
[0229]811、如88或B9所述的装置,所述属性获取模块包括:
[0230]用户态文件属性获取API调用子模块,用于调用位于用户态的文件属性获取例程的操作系统应用程序接口 API !GetFileAttributes ;
[0231]用户态文件属性获取Native API调用子模块,用于通过所述GetFileAttributes例程调用位于用户态的文件信息查询例程的操作系统原生应用程序接口 Native API:ZwQueryInformat1nFile ;
[0232]内核态文件属性获取Native API调用子模块,用于通过所述用户态的ZwQueryInformat1nFile例程调用位于内核态的文件信息查询例程ZwQueryInformat1nFile,由所述内核态的ZwQueryInformat1nFile例程查询目标文件的属性。
[0233]B12、如B8、B9或BlO所述的装置,还包括:
[0234]第一删除模块,用于在去除所述目标文件的只读属性后,调用操作系统应用程序接口 API删除所述目标文件,具体包括:
[0235]用户态文件删除API调用子模块,用于调用位于用户态的文件删除例程的操作系统应用程序接口 API !DeleteFile ;
[0236]用户态文件删除Native API调用子模块,用于通过所述DeleteFile例程调用位于用户态的文件删除例程的操作系统原生应用程序接口 Native API !ZwDeleteFile ;
[0237]内核态文件删除Native API调用子模块,用于通过所述用户态的ZwDeleteFile例程调用位于内核态的文件删除例程ZwDeleteFile,通过所述内核态的ZwDeleteFile例程删除目标文件。
[0238]B13、如B8、B9或BlO所述的装置,还包括:
[0239]第二删除模块,用于在去除所述目标文件的只读属性后,调用自定义的用于删除文件的应用程序接口删除所述目标文件,具体包括:
[0240]文件删除请求获取子模块,用于获取针对目标文件的删除请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径;
[0241]参数校验子模块,用于校验所述调用者输入参数,若校验通过,则触发对象查找子丰吴块;
[0242]对象查找子模块,用于依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程;
[0243]第三IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/O请求包,所述I/O请求包中包括依据所述删除请求生成的目标文件删除操作信息,并将所述I/O请求包发送至预置的文件系统下层设备的原始地址,由所述文件系统下层设备依据所述目标文件删除操作信息,删除所述目标文件。
【主权项】
1.一种文件解锁的方法,其特征在于,包括: 尝试针对目标文件执行删除操作或写入操作; 若所述目标文件无法执行删除或写入操作,则获取所述目标文件的属性; 若所述目标文件的属性为只读,则调用自定义的用于文件属性更改的应用程序接口去除所述目标文件的只读属性。
2.如权利要求1所述的方法,其特征在于,所述调用自定义的用于文件属性更改的应用程序接口去除目标文件只读属性的步骤包括: 获取针对目标文件的属性更改请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径; 校验所述调用者输入参数,若校验通过,则依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程; 若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成I/o请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/o请求包中包括依据所述属性更改请求生成的目标文件属性更改操作信息; 由所述文件系统下层设备依据所述目标文件属性更改操作信息,去除目标文件的只读属性。
3.如权利要求2所述的方法,其特征在于,所述获取目标文件的属性的步骤包括: 调用自定义的用于获取文件属性的应用程序接口获取所述目标文件的属性,具体包括: 获取针对目标文件的属性查询请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径; 校验所述调用者输入参数,若校验通过,则依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程; 若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成I/o请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/o请求包中包括依据所述属性查询请求生成的目标文件属性查询操作信息; 由所述文件系统下层设备依据所述目标文件属性查询操作信息,查询目标文件的属性。
4.如权利要求1或2所述的方法,其特征在于,所述获取目标文件的属性的步骤包括: 调用操作系统的应用程序接口 API获取所述目标文件的属性,具体包括: 调用位于用户态的文件属性获取例程的操作系统应用程序接口 API:GetFileAttributes ; 通过所述GetFileAttributes例程调用位于用户态的文件信息查询例程的操作系统原生应用程序接口 Native API:ZwQueryInformat1nFiIe ; 通过所述用户态的ZwQueryInformat1nFile例程调用位于内核态的文件信息查询例程ZwQuerylnformat1nFile,由所述内核态的ZwQueryInformat1nFile例程查询目标文件的属性。
5.如权利要求1、2或3所述的方法,其特征在于,在去除所述目标文件的只读属性后,还包括: 调用操作系统应用程序接口 API删除所述目标文件,具体包括: 调用位于用户态的文件删除例程的操作系统应用程序接口 API =DeleteFile ; 通过所述DeleteFile例程调用位于用户态的文件删除例程的操作系统原生应用程序接口 Native API:ZwDeleteFile ; 通过所述用户态的ZwDeleteFile例程调用位于内核态的文件删除例程ZwDeleteFiIe,通过所述内核态的ZwDeleteFile例程删除目标文件。
6.如权利要求1、2或3所述的方法,其特征在于,在去除所述目标文件的只读属性后,还包括: 调用自定义的用于删除文件的应用程序接口删除所述目标文件,具体包括: 获取针对目标文件的删除请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径; 校验所述调用者输入参数,若校验通过,则依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程; 若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成I/O请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/o请求包中包括依据所述删除请求生成的目标文件删除操作信息; 由所述文件系统下层设备依据所述目标文件删除操作信息,删除所述目标文件。
7.如权利要求2、3或6所述的方法,其特征在于,所述依据文件路径在对象管理器中查找对应的文件对象解析例程的步骤具体包括以下子步骤; 子步骤S1、判断文件路径是否已经拆解完毕,若否,则执行子步骤S2 ;若是,则执行子步骤S4 ; 子步骤S2、按照路径分隔符拆解出文件路径中下一个待拆解的路径段; 子步骤S3、采用当前拆解出的路径段在对象管理器中搜索,判断是否存在对应的文件对象例程;若是,则返回子步骤SI ;若否,则执行子步骤S5 ; 子步骤S4、获得所述文件路径对应的文件对象解析例程。 子步骤S5、返回未找到对应文件对象解析例程的信息。
8.一种文件解锁的装置,其特征在于,包括: 操作模块,用于尝试针对目标文件执行删除操作或写入操作; 属性获取模块,用于在所述目标文件无法执行删除或写入操作时,获取所述目标文件的属性; 只读属性去除模块,用于在所述目标文件的属性为只读时,调用自定义的用于文件属性更改的应用程序接口去除所述目标文件的只读属性。
9.如权利要求8所述的装置,其特征在于,所述只读属性去除模块包括: 属性更改请求获取子模块,用于获取针对目标文件的属性更改请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径; 参数校验子模块,用于校验所述调用者输入参数,若校验通过,则触发对象查找子模块; 对象查找子模块,用于依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程; 第一 IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/O请求包,所述I/O请求包中包括依据所述属性更改请求生成的目标文件属性更改操作信息,并将所述I/O请求包发送至预置的文件系统下层设备的原始地址;由所述文件系统下层设备依据所述目标文件属性更改操作信息,去除目标文件的只读属性。
10.如权利要求9所述的装置,其特征在于,所述属性获取模块包括: 属性查询请求获取子模块,用于获取针对目标文件的属性查询请求,所述请求中包括调用者输入参数,所述输入参数中包括目标文件的路径; 参数校验子模块,用于校验所述调用者输入参数,若校验通过,则触发对象查找子模块; 对象查找子模块,用于依据所述目标文件路径在对象管理器中查找对应的文件对象解析例程; 第二 IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/O请求包,所述I/O请求包中包括依据所述属性查询请求生成的目标文件属性查询操作信息;并将所述I/O请求包发送至预置的文件系统下层设备的原始地址,由所述文件系统下层设备依据所述目标文件属性查询操作信息,查询目标文件的属性。
【专利摘要】本发明提供了一种文件解锁的方法和装置,其中,所述方法包括:尝试针对目标文件执行删除操作或写入操作;若所述目标文件无法执行删除或写入操作,则获取所述目标文件的属性;若所述目标文件的属性为只读,则调用自定义的用于文件属性更改的应用程序接口去除所述目标文件的只读属性。本发明所提供的文件解锁、粉碎机制不仅安全、可靠、成功率高,并且可以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强了和驱动级恶意程序攻防的对抗能力。
【IPC分类】G06F21-56
【公开号】CN104732142
【申请号】CN201510145493
【发明人】王宇, 潘剑锋
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2015年6月24日
【申请日】2011年6月27日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1