CN106971112A - 文件读写方法及装置 - Google Patents

文件读写方法及装置 Download PDF

Info

Publication number
CN106971112A
CN106971112A CN201710140134.7A CN201710140134A CN106971112A CN 106971112 A CN106971112 A CN 106971112A CN 201710140134 A CN201710140134 A CN 201710140134A CN 106971112 A CN106971112 A CN 106971112A
Authority
CN
China
Prior art keywords
file
uncorrected data
read
disc apparatus
hard disc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710140134.7A
Other languages
English (en)
Other versions
CN106971112B (zh
Inventor
王晨男
谭合力
张波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710140134.7A priority Critical patent/CN106971112B/zh
Publication of CN106971112A publication Critical patent/CN106971112A/zh
Application granted granted Critical
Publication of CN106971112B publication Critical patent/CN106971112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种文件读写方法及装置。所述方法包括:访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。该技术方案使整个读写过程不受限于内核态权限,且无需加载任何驱动,从而避免了诸如恶意程序等在内核态设置钩子时阻碍驱动加载、导致文件无法正常读写的情况,达到了从用户态出发读写文件的目的。

Description

文件读写方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种文件读写方法及装置。
背景技术
现有技术中,常常有这样的杀毒场景:带有驱动的病毒比杀毒软件更早的存在于系统中,且病毒以内核权限运行。由于用户态权限低于内核态权限,因此病毒可以通过拦截文件系统的访问请求而轻易的对杀毒软件隐形,以阻止杀毒软件对病毒文件的操作,甚至阻止杀毒软件正常运行其自身功能。针对这一问题,业内现有的解决方案是,杀毒软件通过加载驱动进入内核态,以内核态权限与病毒对抗。显然,就此种方案而言,能否成功加载驱动是制胜的关键!
上述方法虽然能够在一定程度上对抗病毒,但仍存在缺点,主要表现在:很多病毒会在内核态设置钩子阻碍杀毒软件加载驱动,导致杀毒软件无法加载驱动,也就无法进入内核态与病毒对抗,最终导致杀毒软件因权限不足发现不了病毒或者无法删除病毒。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文件读写方法及装置。
依据本发明的一个方面,提供了一种文件读写方法,包括:
访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
可选地,从所述硬盘设备中读取裸数据,包括:
监测到所述指定文件被成功加载至所述终端系统;
调起预设读取接口;
利用所述预设读取接口从所述硬盘设备中读取裸数据。
可选地,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
获取针对所述指定文件的文件读取请求;
将所述文件读取请求转化为裸数据读取请求;
根据所述裸数据读取请求调起预设读取接口,并利用所述预设读取接口从所述硬盘设备中读取所述目标裸数据。
可选地,所述文件读取请求中包括所述指定文件的文件名称;将所述文件读取请求转化为裸数据读取请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件名称分别对应的裸数据在所述硬盘设备中的存储位置;
分析所述根目录,以确定出所述指定文件的文件名称对应的裸数据在所述硬盘设备中的存储位置,即为所述目标裸数据在所述硬盘设备中的存储位置;
生成包含所述存储位置的裸数据读取请求。
可选地,调起预设读取接口,包括:
将所述终端系统内设的原有读取接口确定为所述预设读取接口,并调起所述原有读取接口;或者,
调起预设的、与所述终端系统内设的原有读取接口不同的专用读取接口。
可选地,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
生成针对所述指定文件的文件写入请求;
将所述文件写入请求转化为裸数据写入请求;
根据所述裸数据写入请求在所述硬盘设备中对所述目标裸数据执行相应的写入操作,所述写入操作包括删除、添加、修改中的任一种操作。
可选地,所述文件写入请求包括在所述指定文件中的第一写入位置;将所述文件写入请求转化为裸数据写入请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据所述数据对应关系以及所述第一写入位置确定在所述目标裸数据中的第二写入位置;
生成包含所述第二写入位置的裸数据写入请求。
可选地,所述指定文件为被恶意程序入侵的文件,所述恶意程序包括病毒、木马、恶意插件中的至少一项。
可选地,从所述硬盘设备中读取所述目标裸数据之后,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
对所述目标裸数据进行排序、拼接和/或整合,得到所述指定文件;
扫描所述指定文件,以确定所述指定文件中的恶意程序的入侵信息,所述入侵信息包括所述恶意程序的种类、入侵方式以及在所述指定文件中的位置信息中的至少一项;
根据所述入侵信息生成文件写入指令,所述文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将所述文件写入指令转化为裸数据写入指令,并根据所述裸数据写入指令在所述硬盘设备中对所述目标裸数据执行相应的写入操作。
可选地,在所述硬盘设备中对所述目标裸数据执行相应的写入操作之后,所述方法还包括:
生成强制重启命令;
将所述强制重启命令发送至所述终端系统,以使所述终端系统根据所述强制重启命令执行重启操作,以彻底清除所述恶意程序。
依据本发明的另一个方面,提供了一种文件读写装置,包括:
读取模块,适于访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析模块,适于解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
确定模块,适于根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
执行模块,适于根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
可选地,所述读取模块还适于:
监测到所述指定文件被成功加载至所述终端系统;
调起预设读取接口;
利用所述预设读取接口从所述硬盘设备中读取裸数据。
可选地,所述执行模块还适于:
获取针对所述指定文件的文件读取请求;
将所述文件读取请求转化为裸数据读取请求;
根据所述裸数据读取请求调起预设读取接口,并利用所述预设读取接口从所述硬盘设备中读取所述目标裸数据。
可选地,所述文件读取请求中包括所述指定文件的文件名称;所述执行模块还适于:
获取所述硬盘设备的根目录,所述根目录记录有各文件名称分别对应的裸数据在所述硬盘设备中的存储位置;
分析所述根目录,以确定出所述指定文件的文件名称对应的裸数据在所述硬盘设备中的存储位置,即为所述目标裸数据在所述硬盘设备中的存储位置;
生成包含所述存储位置的裸数据读取请求。
可选地,所述读取模块还适于:
将所述终端系统内设的原有读取接口确定为所述预设读取接口,并调起所述原有读取接口;或者,
调起预设的、与所述终端系统内设的原有读取接口不同的专用读取接口。
可选地,所述执行模块还适于:
生成针对所述指定文件的文件写入请求;
将所述文件写入请求转化为裸数据写入请求;
根据所述裸数据写入请求在所述硬盘设备中对所述目标裸数据执行相应的写入操作,所述写入操作包括删除、添加、修改中的任一种操作。
可选地,所述文件写入请求包括在所述指定文件中的第一写入位置;所述执行模块还适于:
获取所述硬盘设备的根目录,所述根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据所述数据对应关系以及所述第一写入位置确定在所述目标裸数据中的第二写入位置;
生成包含所述第二写入位置的裸数据写入请求。
可选地,所述指定文件为被恶意程序入侵的文件,所述恶意程序包括病毒、木马、恶意插件中的至少一项。
可选地,所述执行模块还适于:
从所述硬盘设备中读取所述目标裸数据之后,对所述目标裸数据进行排序、拼接和/或整合,得到所述指定文件;
扫描所述指定文件,以确定所述指定文件中的恶意程序的入侵信息,所述入侵信息包括所述恶意程序的种类、入侵方式以及在所述指定文件中的位置信息中的至少一项;
根据所述入侵信息生成文件写入指令,所述文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将所述文件写入指令转化为裸数据写入指令,并根据所述裸数据写入指令在所述硬盘设备中对所述目标裸数据执行相应的写入操作。
可选地,所述装置还包括:
生成模块,适于在所述硬盘设备中对所述目标裸数据执行相应的写入操作之后,生成强制重启命令;
发送模块,适于将所述强制重启命令发送至所述终端系统,以使所述终端系统根据所述强制重启命令执行重启操作,以彻底清除所述恶意程序。
采用本发明实施例提供的技术方案,能够首先从硬盘设备中读取裸数据,并解析裸数据以得到终端系统配置参数,进而根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径,再根据该存储路径查找到目标裸数据,最终在硬盘设备中对目标裸数据执行读写操作。因此,该技术方案在读写文件时能够直接穿透终端系统内核至硬盘设备,并将对文件的读写转化为在硬盘设备中对裸数据的读写,整个读写过程不受限于内核态权限,且无需加载任何驱动,从而避免了诸如恶意程序等在内核态设置钩子时阻碍驱动加载、导致文件无法正常读写的情况,达到了从用户态出发读写文件的目的。
进一步地,当指定文件为被恶意程序入侵的文件时,该技术方案能够将从硬盘设备中读取到的目标裸数据进行排序、拼接和/或整合,得到被恶意程序入侵的指定文件,以使杀毒软件不受限于内核态权限、且无需加载任何驱动,即可直接穿透终端系统内核至硬盘设备,并通过硬盘设备读取到指定文件。然后对指定文件进行扫描,以确定出指定文件中的恶意程序的入侵信息,进而根据入侵信息生成文件写入指令,并将文件写入指令转化为裸数据写入指令,根据裸数据写入指令在硬盘设备中对目标裸数据执行相应的写入操作,例如直接删除被恶意程序入侵的指定文件、从指定文件中清除恶意程序、隔离恶意程序等,使得杀毒软件能够免疫恶意程序在内核态设置的钩子或自保操作,突破恶意程序对杀毒软件的拦截,且脱离对驱动的依赖,达到强力彻底的杀毒效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的一种文件读写方法的示意性流程图;
图2是根据本发明一具体实施例的一种文件读写方法的示意性流程图;
图3是根据本发明一个实施例的一种文件读写装置的示意性框图;
图4是根据本发明另一个实施例的一种文件读写装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的一种文件读写方法的示意性流程图。如图1所示,该方法一般性地可包括以下步骤S101-S104:
步骤S101,访问硬盘设备,从硬盘设备中读取裸数据,裸数据为字节流形式的数据。
步骤S102,解析读取到的裸数据,得到终端系统配置参数,终端系统配置参数包括终端系统中文件的存储路径。
步骤S103,根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径。
步骤S104,根据存储路径查找到目标裸数据,并在硬盘设备中对目标裸数据执行读写操作。
采用本发明实施例提供的技术方案,能够首先从硬盘设备中读取裸数据,并解析裸数据以得到终端系统配置参数,进而根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径,再根据该存储路径查找到目标裸数据,最终在硬盘设备中对目标裸数据执行读写操作。因此,该技术方案在读写文件时能够直接穿透终端系统内核至硬盘设备,并将对文件的读写转化为在硬盘设备中对裸数据的读写,整个读写过程不受限于内核态权限,且无需加载任何驱动,从而避免了诸如恶意程序等在内核态设置钩子时阻碍驱动加载、导致文件无法正常读写的情况,达到了从用户态出发读写文件的目的。
以下针对上述步骤S101-S104进行详细说明。
首先执行步骤S101,即访问硬盘设备,从硬盘设备中读取裸数据。在一个实施例中,当监测到指定文件被成功加载至终端系统中时,触发步骤S101的执行。其中,指定文件可以为被恶意程序(例如病毒、木马、恶意插件等)入侵的文件。从硬盘设备中读取裸数据时,终端可调起预设读取接口,并利用该预设读取接口从硬盘设备中读取裸数据。其中,预设读取接口可以是终端系统内设的原有读取接口,这种情况下,终端将终端系统内设的原有读取接口确定为预设读取接口,并调起该原有读取接口,利用该原有读取接口从硬盘设备中读取裸数据;预设读取接口还可以是预设的、与终端系统内设的原有读取接口不同的专用读取接口,这种情况下,终端调起预设的专用读取接口,并利用该专用读取接口从硬盘设备中读取裸数据。
读取到裸数据之后,继续执行步骤S102,即解析读取到的裸数据,得到终端系统配置参数。其中,终端系统配置参数包括终端系统中文件的存储路径。此外,终端系统配置参数除包括终端系统中文件的存储路径之外,还包括文件的安装格式、文件是否加密、是否压缩等其他信息。这些信息均为现有技术,因此不再赘述。
通过解析裸数据得到终端系统配置参数之后,继续执行步骤S103,根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径。由于终端系统配置参数包括终端系统中文件的存储路径,因此根据终端系统中文件的存储路径即可确定出指定文件对应的目标裸数据在硬盘设备中的存储路径。如上述提及,指定文件可以为被恶意程序(例如病毒、木马、恶意插件等)入侵的文件。以指定文件为被病毒入侵的文件为例,其中,入侵的病毒为自启动病毒。自启动病毒可通过如下两种方式来实现自启动功能:一种是在终端系统配置中进行注册来实现自启动;另一种是通过替换终端系统内的组件,并以假身份代替组件来实现自启动。具体的,当自启动病毒以在终端系统配置中进行注册的方式实现自启动功能时,由于注册信息必然包含存储路径,因此终端可直接从终端系统配置参数中获取到自启动病毒(即指定文件对应的目标裸数据)在硬盘设备中的存储路径。当自启动病毒通过替换终端系统内的组件的方式来实现自启动功能时,由于终端系统的组件除个别默认路径外,其余仍然需要在终端系统配置中注册,因此这种情况下,终端仍能从终端系统配置参数中获取到自启动病毒(即指定文件对应的目标裸数据)在硬盘设备中的存储路径。
确定出目标裸数据在硬盘设备中的存储路径之后,继续执行步骤S104,即根据存储路径查找到目标裸数据,并在硬盘设备中对目标裸数据执行读写操作。其中,在硬盘设备中对目标裸数据可执行读取操作或写入操作。以下分别说明如何在硬盘设备中对目标裸数据执行读取操作以及写入操作。
在一个实施例中,可通过以下步骤A1-A3在硬盘设备中读取目标裸数据:
步骤A1、获取针对指定文件的文件读取请求。
其中,针对指定文件的文件读取请求可由终端主动生成,例如,当监测到指定文件被成功加载至终端系统时,触发终端生成针对指定文件的文件读取请求;或者,针对指定文件的文件读取请求还可由用户发起,例如,用户点击针对指定文件的读取按钮时,终端即可获取到针对指定文件的文件读取请求。
步骤A2、将文件读取请求转化为裸数据读取请求。
本实施例中,当文件读取请求中包括指定文件的文件名称时,可采用如下方式将文件读取请求转化为裸数据读取请求:首先,获取硬盘设备的根目录,其中,硬盘设备的根目录记录有各文件名称分别对应的裸数据在硬盘设备中的存储位置。其次,分析硬盘设备的根目录,以确定出指定文件的文件名称对应的裸数据在硬盘设备中的存储位置,即为目标裸数据在硬盘设备中的存储位置。最后,生成包含该存储位置的裸数据读取请求。
由于硬盘设备中是以裸数据形式(即字节流形式)存储数据的,而不是文件形式的存储,因此本实施例中,确定出的目标裸数据在硬盘设备中的存储位置可能是一片连续的空间,也可能是好多块不连续的空间。需要说明的是,本实施例对于存储位置的表征形式不做限定。例如,存储位置可以以字节的位置信息、硬盘设备中的空间信息等来表征。为简便起见,通常情况下以字节的位置信息来表征。例如,根据硬盘设备的根目录确定出目标裸数据在硬盘设备中的存储位置为“从第100个字节到第1000个字节”;再例如,根据硬盘设备的根目录确定出目标裸数据在硬盘设备中的存储位置为“从第100个字节到第1000个字节、以及从第2000个字节到低3000个字节”。
步骤A3、根据裸数据读取请求调起预设读取接口,并利用预设读取接口从硬盘设备中读取目标裸数据。
其中,预设读取接口可以是终端系统内设的原有读取接口,这种情况下,终端将终端系统内设的原有读取接口确定为预设读取接口,并调起该原有读取接口,利用该原有读取接口从硬盘设备中读取目标裸数据;预设读取接口还可以是预设的、与终端系统内设的原有读取接口不同的专用读取接口,这种情况下,终端调起预设的专用读取接口,并利用该专用读取接口从硬盘设备中读取目标裸数据。
通常情况下,当读取到目标裸数据之后,会对目标裸数据执行相应的写入操作,具体的,写入操作包括删除、添加、修改中的任一种操作。在一个实施例中,可通过以下步骤B1-B3在硬盘设备中对目标裸数据执行写入操作:
步骤B1、生成针对指定文件的文件写入请求。
在一个实施例中,当监测到目标裸数据被成功读取后,触发步骤B1的执行,即生成针对指定文件的文件写入请求。如上述提及,指定文件可以为被恶意程序(例如病毒、木马、恶意插件等)入侵的文件。以指定文件为被病毒入侵的文件为例,当监测到被病毒入侵的文件对应的目标裸数据之后,终端根据病毒的种类、入侵方式等信息生成文件写入请求。
步骤B2、将文件写入请求转化为裸数据写入请求。
本实施例中,当文件写入请求包括在指定文件中的第一写入位置时,可采用如下方式将文件写入请求转化为裸数据写入请求:首先,获取硬盘设备的根目录,其中,硬盘设备的根目录记录有各文件与其对应的裸数据之间的数据对应关系;其次,根据根目录中记录的数据对应关系以及第一写入位置确定在目标裸数据中的第二写入位置;最后,生成包含第二写入位置的裸数据写入请求。例如,根据硬盘设备的根目录中记录的数据对应关系以及在指定文件中的第一写入位置,确定出在目标裸数据中的第二写入位置为“第100个字节处”或者“第100个字节至第1000个字节”,该第二写入位置的具体内容与写入操作的种类有关。
步骤B3、根据裸数据写入请求在硬盘设备中对目标裸数据执行相应的写入操作。
如上述提及,写入操作包括删除、添加、修改中的任一种操作。针对不同的写入操作,在硬盘设备中对目标裸数据的执行方式各有不同。举例而言,若写入操作为删除操作,且在目标裸数据中的第二写入位置为“第100个字节至第1000个字节”,则执行该步骤B3时,直接从硬盘设备中删除第100个字节至第1000个字节之间的数据。若写入操作为添加操作,则文件写入请求中还需包含待添加的数据,假设在目标裸数据中的第二写入位置为“第100个字节之后”,则执行该步骤B3时,在第100个字节之后写入(即添加)待添加的数据内容。若写入操作为修改操作,则文件写入请求中还需包含修改内容(如“111”),假设在目标裸数据中的第二写入位置为“第100个字节”,则执行该步骤B3时,将第100个字节的数据修改为“111”。
以下针对指定文件为被恶意程序入侵的文件的情况说明如何在硬盘设备中对目标裸数据执行读写操作。
在一个实施例中,指定文件为被恶意程序(例如病毒、木马、恶意插件等)入侵的文件,且文件读写方法应用于终端上安装的杀毒软件中。那么,在从硬盘设备中读取到目标裸数据之后,还需执行以下步骤C1-C4:
步骤C1、对目标裸数据进行排序、拼接和/或整合,得到指定文件。
由于从硬盘设备中读取到的目标裸数据可能是一块连续的数据,也可能是多块不连续的数据,并且均为字节流形式,因此读取到目标裸数据之后,还需将目标裸数据进行排序、拼接和/或整合,才可得到完整的指定文件。例如,当目标裸数据为一块连续的数据时,则将目标裸数据进行排序和整合处理,即可得到指定文件;当目标裸数据为多块不连续的数据时,则将目标裸数据进行拼接、排序和整合,即可得到指定文件。
步骤C2、扫描指定文件,以确定指定文件中的恶意程序的入侵信息,入侵信息包括恶意程序的种类、入侵方式以及在指定文件中的位置信息中的至少一项。
其中,恶意程序的种类如病毒、木马、恶意插件等;入侵方式如源代码嵌入攻击、代码取代攻击、系统修改、外壳附加等。具体的,源代码嵌入攻击即为在源程序编译之前插入病毒代码,最后随源程序一起被编译成可执行文件;代码取代攻击即为用其自身的病毒代码取代某个入侵程序的整个或部分模块,以攻击特定的程序;系统修改即为用自身程序覆盖或修改系统中的某些文件来达到调用或替代操作系统中的部分功能;外壳附加即为将恶意程序附加在正常程序的头部或尾部,相当于给程序添加了一个外壳,在被感染的程序执行时,病毒代码先被执行,然后才将正常程序调入内存。
步骤C3、根据入侵信息生成文件写入指令,文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项。
根据入侵信息的不同,文件写入指令也随之不同。例如,若恶意程序的入侵方式为代码取代攻击或者系统修改方式,由于此时指定文件中的部分正常程序已被替换或者更改,导致指定文件的正常程序的部分或全部功能无法运行,因此生成的文件写入指令可以是删除指定文件指令。再例如,若恶意程序的入侵方式为外壳附件方式,由于该方式仅是在正常程序的头部或尾部添加了病毒代码,因此生成的文件写入指令可以是清除恶意程序指令或者隔离恶意程序指令,清除或隔离恶意程序之后,指定文件的正常程序仍可继续运行。
步骤C4、将文件写入指令转化为裸数据写入指令,并根据裸数据写入指令在硬盘设备中对目标裸数据执行相应的写入操作。
具体的,文件写入请求中包括在指定文件的第三写入位置。因此,可按照如下方式将文件写入指令转化为裸数据写入指令:首先,获取硬盘设备的根目录,其中,硬盘设备的根目录记录有各文件与其对应的裸数据之间的数据对应关系。其次,根据根目录中记录的数据对应关系以及第三写入位置确定在目标裸数据中的第四写入位置。最后,生成包含该第四写入位置的裸数据写入指令。
在一个实施例中,为使恶意程序的清除效果更优,可在对目标裸数据执行相应的写入操作之后,继续执行以下步骤:生成强制重启命令,并将强制重启命令发送至终端系统,以使终端系统根据强制重启命令执行重启操作,以彻底清除恶意程序。
由上述实施例可看出,该技术方案能够将从硬盘设备中读取到的目标裸数据进行排序、拼接和/或整合,得到被恶意程序入侵的指定文件,以使杀毒软件不受限于内核态权限、且无需加载任何驱动,即可直接穿透终端系统内核至硬盘设备,并通过硬盘设备读取到指定文件。然后对指定文件进行扫描,以确定出指定文件中的恶意程序的入侵信息,进而根据入侵信息生成文件写入指令,并将文件写入指令转化为裸数据写入指令,根据裸数据写入指令在硬盘设备中对目标裸数据执行相应的写入操作,例如直接删除被恶意程序入侵的指定文件、从指定文件中清除恶意程序、隔离恶意程序等,使得杀毒软件能够免疫恶意程序在内核态设置的钩子或自保操作,突破恶意程序对杀毒软件的拦截,且脱离对驱动的依赖,达到强力彻底的杀毒效果。
以下通过一具体实施例来说明本发明提供的文件读写方法。
在一具体实施例中,指定文件为被病毒入侵的文件(以下简称病毒文件),且该文件读写方法应用于杀毒软件中。如图2所示,该方法可包括以下步骤S201-S210:
步骤S201,当监测到病毒文件被成功加载至终端系统中时,访问硬盘设备,并调起预设读取接口从硬盘设备中读取裸数据。
其中,预设读取接口可以是终端系统内设的原有读取接口,这种情况下,终端将终端系统内设的原有读取接口确定为预设读取接口,并调起该原有读取接口,利用该原有读取接口从硬盘设备中读取裸数据;预设读取接口还可以是预设的、与终端系统内设的原有读取接口不同的专用读取接口,这种情况下,终端调起预设的专用读取接口,并利用该专用读取接口从硬盘设备中读取裸数据。
步骤S202,解析读取到的裸数据,得到终端系统配置参数。其中,终端系统配置参数包括终端系统中文件的存储路径。
步骤S203,根据终端系统配置参数确定病毒文件对应的目标裸数据在硬盘设备中的存储路径。
步骤S204,根据存储路径从硬盘设备中查找到目标裸数据,并获取针对病毒文件的文件读取请求,该文件读取请求中包括病毒文件的文件名称。
其中,针对病毒文件的文件读取请求可由杀毒软件主动生成,例如,当监测到病毒文件被成功加载至终端系统时,触发杀毒软件生成针对病毒文件的文件读取请求;或者,针对病毒文件的文件读取请求还可由用户发起,例如,用户点击针对病毒文件的读取按钮时,杀毒软件即可获取到针对病毒文件的文件读取请求。
步骤S205,将文件读取请求转化为裸数据读取请求,并调起预设读取接口,利用预设读取接口从硬盘设备中读取目标裸数据。
具体的:首先,获取硬盘设备的根目录,其中,硬盘设备的根目录记录有各文件名称分别对应的裸数据在硬盘设备中的存储位置。其次,分析硬盘设备的根目录,以确定出病毒文件的文件名称对应的裸数据在硬盘设备中的存储位置,即为目标裸数据在硬盘设备中的存储位置。最后,生成包含该存储位置的裸数据读取请求。其中,存储位置以字节的位置信息来表征。例如,根据硬盘设备的根目录确定出目标裸数据在硬盘设备中的存储位置为“从第100个字节到第1000个字节”;再例如,根据硬盘设备的根目录确定出目标裸数据在硬盘设备中的存储位置为“从第100个字节到第1000个字节、以及从第2000个字节到低3000个字节”。此外,预设读取接口可以是终端系统内设的原有读取接口,还可以是预设的、与终端系统内设的原有读取接口不同的专用读取接口。
步骤S206,对目标裸数据进行排序、拼接和/或整合,得到病毒文件。
步骤S207,扫描病毒文件,以确定病毒文件中的病毒入侵信息,其中,病毒入侵信息包括病毒入侵方式以及在病毒文件中的位置信息。
步骤S208,根据病毒入侵信息生成针对病毒文件的文件写入指令,并将该文件写入指令转化为裸数据写入指令。
其中,文件写入指令中包括在病毒文件中的写入位置。在转换为裸数据写入指令时,首先,获取硬盘设备的根目录,其中,硬盘设备的根目录记录有各文件与其对应的裸数据之间的数据对应关系;其次,根据根目录中记录的数据对应关系以及在病毒文件中的写入位置确定在目标裸数据中的写入位置;最后,生成包含写入位置的裸数据写入请求。例如,根据硬盘设备的根目录中记录的数据对应关系以及在病毒文件中的写入位置,确定出在目标裸数据中的写入位置为“第100个字节处”或者“第100个字节至第1000个字节”。
本实施例中,假设病毒入侵方式为代码取代攻击方式,且在病毒文件中的位置信息为“从第100个字节到第1000个字节”,则生成的文件写入指令可以是删除病毒文件指令。
步骤S209,根据裸数据写入指令在硬盘设备中对目标裸数据执行相应的写入操作。
本实施例中,如上述所说,生成的文件写入指令为删除病毒文件指令,且在病毒文件中的位置信息为“从第100个字节到第1000个字节”,因此在执行步骤S209时,杀毒软件直接从硬盘设备中删除第100个字节到第1000个字节的裸数据,即目标裸数据。
步骤S210,生成强制重启命令,并将强制重启命令发送至终端系统,以使终端系统根据强制重启命令执行重启操作,以彻底清除病毒。
由该具体实施例可看出,该技术方案使得杀毒软件不受限于内核态权限、且无需加载任何驱动,即可直接穿透终端系统内核至硬盘设备,并通过硬盘设备读取到病毒文件,进而对病毒文件进行扫描,以确定出病毒文件中的病毒入侵信息,并根据病毒入侵信息生成文件写入指令,进而在硬盘设备中对病毒文件对应的目标裸数据执行相应的写入操作,如直接删除被病毒入侵的病毒文件,使得杀毒软件能够免疫恶意程序在内核态设置的钩子或自保操作,突破病毒对杀毒软件的拦截,且脱离对驱动的依赖,达到强力彻底的杀毒效果。
图3是根据本发明一个实施例的一种文件读写装置的示意性框图。如图3所示,该装置包括:
读取模块310,适于访问硬盘设备,从硬盘设备中读取裸数据,裸数据为字节流形式的数据;
解析模块320,与读取模块310相耦合,适于解析读取到的裸数据,得到终端系统配置参数,终端系统配置参数包括终端系统中文件的存储路径;
确定模块330,与解析模块320相耦合,适于根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径;
执行模块340,与确定模块330相耦合,适于根据存储路径查找到目标裸数据,并在硬盘设备中对目标裸数据执行读写操作。
可选地,读取模块310还适于:
监测到指定文件被成功加载至终端系统;
调起预设读取接口;
利用预设读取接口从硬盘设备中读取裸数据。
可选地,执行模块340还适于:
获取针对指定文件的文件读取请求;
将文件读取请求转化为裸数据读取请求;
根据裸数据读取请求调起预设读取接口,并利用预设读取接口从硬盘设备中读取目标裸数据。
可选地,文件读取请求中包括指定文件的文件名称;执行模块340还适于:
获取硬盘设备的根目录,根目录记录有各文件名称分别对应的裸数据在硬盘设备中的存储位置;
分析根目录,以确定出指定文件的文件名称对应的裸数据在硬盘设备中的存储位置,即为目标裸数据在硬盘设备中的存储位置;
生成包含存储位置的裸数据读取请求。
可选地,读取模块310还适于:
将终端系统内设的原有读取接口确定为预设读取接口,并调起原有读取接口;或者,
调起预设的、与终端系统内设的原有读取接口不同的专用读取接口。
可选地,执行模块340还适于:
生成针对指定文件的文件写入请求;
将文件写入请求转化为裸数据写入请求;
根据裸数据写入请求在硬盘设备中对目标裸数据执行相应的写入操作,写入操作包括删除、添加、修改中的任一种操作。
可选地,文件写入请求包括在指定文件中的第一写入位置;执行模块340还适于:
获取硬盘设备的根目录,根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据数据对应关系以及第一写入位置确定在目标裸数据中的第二写入位置;
生成包含第二写入位置的裸数据写入请求。
可选地,指定文件为被恶意程序入侵的文件,恶意程序包括病毒、木马、恶意插件中的至少一项。
可选地,执行模块340还适于:
从硬盘设备中读取目标裸数据之后,对目标裸数据进行排序、拼接和/或整合,得到指定文件;
扫描指定文件,以确定指定文件中的恶意程序的入侵信息,入侵信息包括恶意程序的种类、入侵方式以及在指定文件中的位置信息中的至少一项;
根据入侵信息生成文件写入指令,文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将文件写入指令转化为裸数据写入指令,并根据裸数据写入指令在硬盘设备中对目标裸数据执行相应的写入操作。
可选地,如图4所示,上述装置还包括:
生成模块350,与执行模块340相耦合,适于在硬盘设备中对目标裸数据执行相应的写入操作之后,生成强制重启命令;
发送模块360,与生成模块350相耦合,适于将强制重启命令发送至终端系统,以使终端系统根据强制重启命令执行重启操作,以彻底清除恶意程序。
采用本发明实施例提供的装置,能够首先从硬盘设备中读取裸数据,并解析裸数据以得到终端系统配置参数,进而根据终端系统配置参数确定指定文件对应的目标裸数据在硬盘设备中的存储路径,再根据该存储路径查找到目标裸数据,最终在硬盘设备中对目标裸数据执行读写操作。因此,该技术方案在读写文件时能够直接穿透终端系统内核至硬盘设备,并将对文件的读写转化为在硬盘设备中对裸数据的读写,整个读写过程不受限于内核态权限,且无需加载任何驱动,从而避免了诸如恶意程序等在内核态设置钩子时阻碍驱动加载、导致文件无法正常读写的情况,达到了从用户态出发读写文件的目的。
本领域的技术人员应可理解,图3和图4中的文件读写装置能够用来实现前文所述的文件读写方案,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件读写装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例提供了A1.一种文件读写方法,包括:
访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
A2.根据A1所述的方法,其中,从所述硬盘设备中读取裸数据,包括:
监测到所述指定文件被成功加载至所述终端系统;
调起预设读取接口;
利用所述预设读取接口从所述硬盘设备中读取裸数据。
A3.根据A1或A2所述的方法,其中,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
获取针对所述指定文件的文件读取请求;
将所述文件读取请求转化为裸数据读取请求;
根据所述裸数据读取请求调起预设读取接口,并利用所述预设读取接口从所述硬盘设备中读取所述目标裸数据。
A4.根据A3所述的方法,其中,所述文件读取请求中包括所--述指定文件的文件名称;将所述文件读取请求转化为裸数据读取请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件名称分别对应的裸数据在所述硬盘设备中的存储位置;
分析所述根目录,以确定出所述指定文件的文件名称对应的裸数据在所述硬盘设备中的存储位置,即为所述目标裸数据在所述硬盘设备中的存储位置;
生成包含所述存储位置的裸数据读取请求。
A5.根据A2-A4中任一项所述的方法,其中,调起预设读取接口,包括:
将所述终端系统内设的原有读取接口确定为所述预设读取接口,并调起所述原有读取接口;或者,
调起预设的、与所述终端系统内设的原有读取接口不同的专用读取接口。
A6.根据A1-A5中任一项所述的方法,其中,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
生成针对所述指定文件的文件写入请求;
将所述文件写入请求转化为裸数据写入请求;
根据所述裸数据写入请求在所述硬盘设备中对所述目标裸数据执行相应的写入操作,所述写入操作包括删除、添加、修改中的任一种操作。
A7.根据A6所述的方法,其中,所述文件写入请求包括在所述指定文件中的第一写入位置;将所述文件写入请求转化为裸数据写入请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据所述数据对应关系以及所述第一写入位置确定在所述目标裸数据中的第二写入位置;
生成包含所述第二写入位置的裸数据写入请求。
A8.根据A3所述的方法,其中,所述指定文件为被恶意程序入侵的文件,所述恶意程序包括病毒、木马、恶意插件中的至少一项。
A9.根据A8所述的方法,其中,从所述硬盘设备中读取所述目标裸数据之后,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
对所述目标裸数据进行排序、拼接和/或整合,得到所述指定文件;
扫描所述指定文件,以确定所述指定文件中的恶意程序的入侵信息,所述入侵信息包括所述恶意程序的种类、入侵方式以及在所述指定文件中的位置信息中的至少一项;
根据所述入侵信息生成文件写入指令,所述文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将所述文件写入指令转化为裸数据写入指令,并根据所述裸数据写入指令在所述硬盘设备中对所述目标裸数据执行相应的写入操作。
A10.根据A9所述的方法,其中,在所述硬盘设备中对所述目标裸数据执行相应的写入操作之后,所述方法还包括:
生成强制重启命令;
将所述强制重启命令发送至所述终端系统,以使所述终端系统根据所述强制重启命令执行重启操作,以彻底清除所述恶意程序。
本发明实施例还提供了B11.一种文件读写装置,包括:
读取模块,适于访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析模块,适于解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
确定模块,适于根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
执行模块,适于根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
B12.根据B11所述的装置,其中,所述读取模块还适于:
监测到所述指定文件被成功加载至所述终端系统;
调起预设读取接口;
利用所述预设读取接口从所述硬盘设备中读取裸数据。
B13.根据B11或B12所述的装置,其中,所述执行模块还适于:
获取针对所述指定文件的文件读取请求;
将所述文件读取请求转化为裸数据读取请求;
根据所述裸数据读取请求调起预设读取接口,并利用所述预设读取接口从所述硬盘设备中读取所述目标裸数据。
B14.根据B13所述的装置,其中,所述文件读取请求中包括所述指定文件的文件名称;所述执行模块还适于:
获取所述硬盘设备的根目录,所述根目录记录有各文件名称分别对应的裸数据在所述硬盘设备中的存储位置;
分析所述根目录,以确定出所述指定文件的文件名称对应的裸数据在所述硬盘设备中的存储位置,即为所述目标裸数据在所述硬盘设备中的存储位置;
生成包含所述存储位置的裸数据读取请求。
B15.根据B12-B14中任一项所述的装置,其中,所述读取模块还适于:
将所述终端系统内设的原有读取接口确定为所述预设读取接口,并调起所述原有读取接口;或者,
调起预设的、与所述终端系统内设的原有读取接口不同的专用读取接口。
B16.根据B11-B15中任一项所述的装置,其中,所述执行模块还适于:
生成针对所述指定文件的文件写入请求;
将所述文件写入请求转化为裸数据写入请求;
根据所述裸数据写入请求在所述硬盘设备中对所述目标裸数据执行相应的写入操作,所述写入操作包括删除、添加、修改中的任一种操作。
B17.根据B16所述的装置,其中,所述文件写入请求包括在所述指定文件中的第一写入位置;所述执行模块还适于:
获取所述硬盘设备的根目录,所述根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据所述数据对应关系以及所述第一写入位置确定在所述目标裸数据中的第二写入位置;
生成包含所述第二写入位置的裸数据写入请求。
B18.根据B13所述的装置,其中,所述指定文件为被恶意程序入侵的文件,所述恶意程序包括病毒、木马、恶意插件中的至少一项。
B19.根据B18所述的装置,其中,所述执行模块还适于:
从所述硬盘设备中读取所述目标裸数据之后,对所述目标裸数据进行排序、拼接和/或整合,得到所述指定文件;
扫描所述指定文件,以确定所述指定文件中的恶意程序的入侵信息,所述入侵信息包括所述恶意程序的种类、入侵方式以及在所述指定文件中的位置信息中的至少一项;
根据所述入侵信息生成文件写入指令,所述文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将所述文件写入指令转化为裸数据写入指令,并根据所述裸数据写入指令在所述硬盘设备中对所述目标裸数据执行相应的写入操作。
B20.根据B19所述的装置,其中,所述装置还包括:
生成模块,适于在所述硬盘设备中对所述目标裸数据执行相应的写入操作之后,生成强制重启命令;
发送模块,适于将所述强制重启命令发送至所述终端系统,以使所述终端系统根据所述强制重启命令执行重启操作,以彻底清除所述恶意程序。

Claims (10)

1.一种文件读写方法,包括:
访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
2.根据权利要求1所述的方法,其中,从所述硬盘设备中读取裸数据,包括:
监测到所述指定文件被成功加载至所述终端系统;
调起预设读取接口;
利用所述预设读取接口从所述硬盘设备中读取裸数据。
3.根据权利要求1或2所述的方法,其中,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
获取针对所述指定文件的文件读取请求;
将所述文件读取请求转化为裸数据读取请求;
根据所述裸数据读取请求调起预设读取接口,并利用所述预设读取接口从所述硬盘设备中读取所述目标裸数据。
4.根据权利要求3所述的方法,其中,所述文件读取请求中包括所--述指定文件的文件名称;将所述文件读取请求转化为裸数据读取请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件名称分别对应的裸数据在所述硬盘设备中的存储位置;
分析所述根目录,以确定出所述指定文件的文件名称对应的裸数据在所述硬盘设备中的存储位置,即为所述目标裸数据在所述硬盘设备中的存储位置;
生成包含所述存储位置的裸数据读取请求。
5.根据权利要求2-4中任一项所述的方法,其中,调起预设读取接口,包括:
将所述终端系统内设的原有读取接口确定为所述预设读取接口,并调起所述原有读取接口;或者,
调起预设的、与所述终端系统内设的原有读取接口不同的专用读取接口。
6.根据权利要求1-5中任一项所述的方法,其中,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
生成针对所述指定文件的文件写入请求;
将所述文件写入请求转化为裸数据写入请求;
根据所述裸数据写入请求在所述硬盘设备中对所述目标裸数据执行相应的写入操作,所述写入操作包括删除、添加、修改中的任一种操作。
7.根据权利要求6所述的方法,其中,所述文件写入请求包括在所述指定文件中的第一写入位置;将所述文件写入请求转化为裸数据写入请求,包括:
获取所述硬盘设备的根目录,所述根目录记录有各文件与其对应的裸数据之间的数据对应关系;
根据所述数据对应关系以及所述第一写入位置确定在所述目标裸数据中的第二写入位置;
生成包含所述第二写入位置的裸数据写入请求。
8.根据权利要求3所述的方法,其中,所述指定文件为被恶意程序入侵的文件,所述恶意程序包括病毒、木马、恶意插件中的至少一项。
9.根据权利要求8所述的方法,其中,从所述硬盘设备中读取所述目标裸数据之后,在所述硬盘设备中对所述目标裸数据执行读写操作,包括:
对所述目标裸数据进行排序、拼接和/或整合,得到所述指定文件;
扫描所述指定文件,以确定所述指定文件中的恶意程序的入侵信息,所述入侵信息包括所述恶意程序的种类、入侵方式以及在所述指定文件中的位置信息中的至少一项;
根据所述入侵信息生成文件写入指令,所述文件写入指令包括删除指定文件指令、清除恶意程序指令、隔离恶意程序指令、修改指令中的至少一项;
将所述文件写入指令转化为裸数据写入指令,并根据所述裸数据写入指令在所述硬盘设备中对所述目标裸数据执行相应的写入操作。
10.一种文件读写装置,包括:
读取模块,适于访问硬盘设备,从所述硬盘设备中读取裸数据,所述裸数据为字节流形式的数据;
解析模块,适于解析所述读取到的裸数据,得到所述终端系统配置参数,所述终端系统配置参数包括终端系统中文件的存储路径;
确定模块,适于根据所述终端系统配置参数确定指定文件对应的目标裸数据在所述硬盘设备中的存储路径;
执行模块,适于根据所述存储路径查找到所述目标裸数据,并在所述硬盘设备中对所述目标裸数据执行读写操作。
CN201710140134.7A 2017-03-09 2017-03-09 文件读写方法及装置 Active CN106971112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710140134.7A CN106971112B (zh) 2017-03-09 2017-03-09 文件读写方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710140134.7A CN106971112B (zh) 2017-03-09 2017-03-09 文件读写方法及装置

Publications (2)

Publication Number Publication Date
CN106971112A true CN106971112A (zh) 2017-07-21
CN106971112B CN106971112B (zh) 2019-11-26

Family

ID=59328283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710140134.7A Active CN106971112B (zh) 2017-03-09 2017-03-09 文件读写方法及装置

Country Status (1)

Country Link
CN (1) CN106971112B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463662A (zh) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438671A (en) * 1991-07-19 1995-08-01 Dell U.S.A., L.P. Method and system for transferring compressed bytes of information between separate hard disk drive units
CN102696022A (zh) * 2009-11-30 2012-09-26 Lsi公司 具有在通用处理器上的信号处理的存储器读通道
CN103186743A (zh) * 2012-09-14 2013-07-03 曾崛 一种多网络系统数据传导装置及方法
US8725690B1 (en) * 2008-12-19 2014-05-13 Emc Corporation Time and bandwidth efficient backups of space reduced data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438671A (en) * 1991-07-19 1995-08-01 Dell U.S.A., L.P. Method and system for transferring compressed bytes of information between separate hard disk drive units
US8725690B1 (en) * 2008-12-19 2014-05-13 Emc Corporation Time and bandwidth efficient backups of space reduced data
CN102696022A (zh) * 2009-11-30 2012-09-26 Lsi公司 具有在通用处理器上的信号处理的存储器读通道
CN103186743A (zh) * 2012-09-14 2013-07-03 曾崛 一种多网络系统数据传导装置及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463662A (zh) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN112463662B (zh) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端

Also Published As

Publication number Publication date
CN106971112B (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
US11611586B2 (en) Systems and methods for detecting a suspicious process in an operating system environment using a file honeypots
US7841006B2 (en) Discovery of kernel rootkits by detecting hidden information
US8572371B2 (en) Discovery of kernel rootkits with memory scan
US9081960B2 (en) Architecture for removable media USB-ARM
CN109033828B (zh) 一种基于计算机内存分析技术的木马检测方法
US6907396B1 (en) Detecting computer viruses or malicious software by patching instructions into an emulator
US8356354B2 (en) Silent-mode signature testing in anti-malware processing
KR102323290B1 (ko) 알려진 및/또는 알려지지 않은 사이버 보안 위협들의 모폴로지들을 분석함으로써 데이터 이상들을 검출하기 위한 시스템 및 방법
JP5808395B2 (ja) マルウェアスキャニング
JP5996145B1 (ja) プログラム、情報処理装置、及び情報処理方法
US20190147163A1 (en) Inferential exploit attempt detection
JP2019067372A (ja) プロセスのアドレス空間内の悪意のあるコードの検出のためのシステムおよび方法
CN103679027A (zh) 内核级恶意软件查杀的方法和装置
US9740865B2 (en) System and method for configuring antivirus scans
CN107330328A (zh) 防御病毒攻击的方法、装置及服务器
CN105335197A (zh) 终端中应用程序的启动控制方法和装置
US20080028462A1 (en) System and method for loading and analyzing files
US8578495B2 (en) System and method for analyzing packed files
CN105095754A (zh) 一种处理病毒应用的方法、和装置和移动终端
CN106971112A (zh) 文件读写方法及装置
CN103632086B (zh) 修复基本输入输出系统bios恶意程序的方法和装置
JP6219550B1 (ja) プログラム、情報処理装置、及び情報処理方法
US20090094459A1 (en) Method and system for associating one or more pestware-related indications with a file on a computer-readable storage medium of a computer
US11816213B2 (en) System and method for improved protection against malicious code elements
RU85249U1 (ru) Аппаратный антивирус

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant