CN1241124C - 一种在计算机系统中完全控制文件的方法 - Google Patents

一种在计算机系统中完全控制文件的方法 Download PDF

Info

Publication number
CN1241124C
CN1241124C CN 01142157 CN01142157A CN1241124C CN 1241124 C CN1241124 C CN 1241124C CN 01142157 CN01142157 CN 01142157 CN 01142157 A CN01142157 A CN 01142157A CN 1241124 C CN1241124 C CN 1241124C
Authority
CN
China
Prior art keywords
file
open
application program
virus
operating system
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.)
Expired - Lifetime
Application number
CN 01142157
Other languages
English (en)
Other versions
CN1409227A (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 net an Technology Limited by Share Ltd
Original Assignee
RUIXING SCIENCE AND TECHNOLOGY Co Ltd BEIJING
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 RUIXING SCIENCE AND TECHNOLOGY Co Ltd BEIJING filed Critical RUIXING SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Priority to CN 01142157 priority Critical patent/CN1241124C/zh
Publication of CN1409227A publication Critical patent/CN1409227A/zh
Application granted granted Critical
Publication of CN1241124C publication Critical patent/CN1241124C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种在计算机系统中完全控制一文件的方法,包括以下步骤:运行杀病毒应用程序,产生杀病毒进程,系统给该杀毒进程分配一ID号;所述杀毒应用程序在运行时在系统中装载OS级设备驱动程序,并且杀毒程序将自己的进程ID号传送给所述设备驱动程序;设备驱动程序修改调用所述操作系统中文件入口处理部分的文件调用入口,使得任何文件打开处理首先转向上述设备驱动程序的处理;在有一应用程序请求打开一个文件时,将所述调用者应用程序的进程ID号与所述杀病毒程序的ID号相比较,如是杀毒程序则打开该文件;如是一般的应用程序,则作文件共享冲突检测。使杀毒软件能在WINDOWS环境下直接对所有的带毒文件,包括共享文件进行直接清除和删除。

Description

一种在计算机系统中完全控制文件的方法
                          发明领域
本发明涉及一种在计算机系统中,特别是在32位WINDOWS操作系统下完全控制文件的方法,以便于杀病毒软件能对正在被打开使用或者正在运行的文件进行打开,读写,删除。
                          背景技术
长期以来,计算机病毒成为困扰使用计算机的人们的一个重大问题。由于病毒的感染性、自我复制性和破坏性,计算机病毒已经威胁到了人们对计算机的正常使用,如造成数据丢失、篡改、文件损坏、软件破坏…。根据MICROSOFT提供的数据,目前的个人计算机用户中超过90%使用WINDOWS系统,而且有越来越多的计算机服务器使用WINNTSERVER和WIN2000SERVER。因此病毒将WINDOWS平台作为主要的攻击和传染目标。
人们经常使用各种各样的杀毒软件来检测和清除这些病毒。目前使用的杀病毒软件大都只能清除和删除未被WINDOWS打开或运行的病毒文件。因为WINDOWS的文件系统实现了文件共享保护机制,一旦某个文件被WINDOWS打开或者运行,文件被映像到内存中,这时WINDOWS的文件系统不允许其它进程对这个文件进行改写、重命名、删除操作。也就是说如果病毒文件正在被使用,加载到内存中,目前的各种杀毒软件都无法对该文件进行任何改写的操作,也无法清除和删除这个病毒文件。只有病毒文件被关闭,将映像从内存中卸载,杀毒软件才能对这个病毒文件进行清除和删除操作。但是病毒会攻击和传染大量的WINDOWS系统文件,这些系统文件一直被WINDOWS系统所使用,直到WINDOWS系统退出。因此杀毒软件在WINDOWS中对这些被传染了病毒的系统文件都不能彻底的清除和删除。在这种情况下,要对这些被传染了病毒的系统文件作彻底的清除和删除,目前的各种杀毒软件都要求从WINDOWS系统中退出,进入DOS操作系统,因为在DOS环境下,WINDOWS的系统文件都不被使用,这时杀毒软件才能将所有的病毒彻底清除和删除。
但是要求用户从WINDOWS中退出到DOS环境,会终止用户当前的工作,给用户带来非常大的不方便,尤其是对服务器中使用的WINDOWS操作系统。因为大量使用WINNT SERVER和WIN2000SERVER的企业级服务器,负担大量重要任务,要求长时间不间断的工作,不允许随便退出WINDOWS系统。特别是WINNT和WIN2000使用NTFS文件系统,即使退出到DOS环境中,DOS也识别不了NTFS文件系统,也没有办法清除病毒文件,可是WINDOWS一启动,感染病毒的系统文件又被载入。因此目前所有杀毒软件对这种带病毒文件都无计可施。
                          发明内容
针对上述现有的杀毒软件技术中的问题,本发明的目的在于提供一种能在32位WINDOWS环境下直接完全控制文件的方法,不管该文件是否正在被打开或运行。这样一来就便杀病毒软件能在WINDOWS环境下直接对所有的带病毒文件进行直接清除和删除。从而从根本上解决感染了病毒的共享文件不能彻底清除的难题。
本发明提供一种在计算机系统中完全控制一文件的方法,该计算机系统包括一计算机,WINDOWS操作系统,WINDOWS系统文件等,所述操作系统中包含文件打开处理应用程序、操作系统核心部分、文件入口处理部分、文件共享检测机制部分和文件打开实施部分,该方法包括以下步骤:运行一杀病毒应用程序,产生一杀病毒进程,系统给该杀病毒进程分配一ID号;所述杀病毒应用程序在运行时在系统中装载一OS级的设备驱动程序,并且所述杀病毒程序将自己的进程ID号传送给所述设备驱动程序;所述设备驱动程序修改调用所述操作系统中文件入口处理部分的文件调用入口,使得任何文件打开处理首先转向上述设备驱动程序的处理;在有一应用程序调用所述文件打开处理应用程序、操作系统核心部分、文件入口处理部分而请求打开一个文件时,所述设备驱动程序提取所述调用者应用程序的进程ID号,将其与所述杀病毒程序的ID号相比较,如果二者ID号相同,判断是杀病毒程序请求打开该文件,则直接转到文件打开实施部分打开该文件,由此,该杀病毒程序完全控制了对该文件进行打开、读写、改写和删除等操作的权利;如果二者ID号不同,判断是一般的应用程序请求打开该文件,则回到文件共享检测机制部分进行文件共享冲突的检测,如果有共享冲突,打开失败;反之,由文件打开实施部分打开该文件。
                          附图说明
图1示出了WIN9X操作系统的给进程分配的地址空间示意图。
图2示出了WIN9X操作系统本身的用于打开WIN9X文件的系统流程的示意图。
图3示出了本发明的完全控制文件的方法的一个实施例,在WIN9X操作系统中完全控制WIN9X文件的处理方法的流程图。
图4示出了WINNT操作系统的给进程分配的地址空间示意图。
图5示出了WINNT操作系统本身的用于打开WINNT文件的系统流程的示意图。
图6示出了本发明的完全控制文件的方法的另一个实施例,在WINNT操作系统中完全控制WINNT文件的处理方法的流程图。
                          具体实施方式
一WINDOWS计算机系统包括计算机、WINDOWS操作系统、WINDOWS系统文件和其它文件等。要在WINDOWS操作系统下完全控制已经由其它进程使用和控制的文件,必须首先了解WINDOWS操作系统中文件共享保护机制的实现机理。
32位WINDOWS有两个不同的分支,分别使用不同的内核实现。其中WINDOWS 95、WINDOWS 98、WINDOWS ME使用WIN9X内核;WINNT WORKSTATION、WINNT SERVER、WIN2000Professional、WIN2000SERVER使用NT内核。
要了解32位WINDOWS文件共享保护机制,必须分别了解WIN9X内核以及NT内核的进程地址空间和文件系统构造。在此基础上,才能应用本发明的完全控制文件的处理方法。
图1示出了WIN9X操作系统的给进程分配的地址空间示意图。如图1所示,WIN9X中对于一进程的地址空间是如下划分的:在WIN9X中给每个进程分配4GB的虚拟地址空间,即从0x00000000到0xFFFFFFFF之间的区域。其中,分三个部分:从0x00000000到0x7FFFFFFF之间的区域这2GB字节是进程的私有空间;从0x80000000到0xBFFFFFFF之间的区域这1GB区同是系统存储所有WIN32进程间共享数据的所在处,系统动态库KERNEL32.DLL、USER32.DLL、GDI32.DLL、ADVAPI32.DLL都装在这个空间;而从0xC0000000到0xFFFFFFFF之间的区域这1GB区间是操作系统的代码所在地,包括系统的设备驱动程序(VxD),低层存储管理代码和文件系统代码。上述第一和第二部分属于RING0(0环),而第三部分属于RING3(3环)。
图2示出了WIN9X操作系统本身的用于打开WIN9X文件的系统流程的示意图。WIN9X操作系统中包含文件打开处理应用程序、操作系统核心部分、文件入口处理部分、文件共享检测机制部分和文件打开实施部分。在图2中,对WIN9X,文件打开处理应用程序为Kernel32.DLL模块的CreateFile函数处理程序;操作系统核心部分包括一VMM(虚拟机管理器);文件入口处理部分为系统的设备驱动程序VWIN32.VXD中的IFSMgr Ring0FileIO函数处理程序;文件共享检测机制部分为IFSMgr.VXD文件共享检测机制;文件打开实施部分为VFAT.VXD的FAT文件系统。
如图2所示,首先,为打开目标文件,应用程序模块调用CreateFile(S21);然后KERNEL32.DLL模块的CreateFile函数处理程序通过INT30由RING3进入RING 0(S22),由RING0中的VMM(虚拟机管理器)进行处理(S23);VMM通过上述第三部分中的系统的设备驱动程序VWIN32.VXD中的IFSMgr Ring0FileIO函数处理程序(S24),调用IFSMgr.VXD文件共享检测机制来检测是否允许该目标文件被该应用程序所打开(S25);如果允许,则由第三部分中的VFAT.VXD的FAT文件系统来具体实现(S26);否则,标识为该应用程序不能打开该目标文件,即文件打开失败,原因为共享冲突(S27)。之后结束该文件打开的处理(S28)。
实际的文件共享检测机制由操作系统代码IFSMgr.VXD实现,该代码位于上述第三部分,即进程空间0xC0000000-0xFFFFFFFF这一区域。
因此,当一般的杀毒软件的应用程序试图对一个WIN9X文件进行病毒清除或删除操作时,它必须通过上述图2的处理过程来打开该文件。如果该文件是一个正打开的WIN9X系统文件,就会产生文件共享的冲突,使得该杀毒的应用程序无法取得对该目标文件的控制权,即无法打开该文件,也就不能进一步对该文件进行病毒的清除或文件删除的操作。病毒也就无法在不退出WINDOWS系统的情况下被清除。
为了使杀毒进程能够通过文件共享冲突检测机制的检测,必须接管系统中原有的IFSMGR.VXD这一部分代码。按照本发明,为了接管WIN9X操作系统代码,在杀毒程序中附带使用一虚拟设备驱动程序(VxD)对操作系统代码进行扩展,以通过虚拟设备驱动程序接管WIN9X自己的文件共享检测机制,对于其它进程的文件访问进行正常的文件共享冲突检测。对于自己的杀毒进程则进行修改过的文件共享冲突检测,使得文件请求能够正常通过,共享冲突检测只是在文件打开进行,如果文件以读写方式打开,以后对该文件进行读或写时不再进行共享冲突检测。其具体实现如下。
图3示出了按照本发明的完全控制文件的方法的一个实施例,在WIN9X操作系统中完全控制WIN9X文件的处理方法的流程图。如图3所示,在瑞星的杀毒程序中包含一段虚拟设备驱动程序。当运行该杀病毒应用程序时,产生一杀病毒进程,系统给该杀病毒进程分配一ID号(系统会给每个运行的进程分配一ID号)(S31)。所述杀病毒应用程序在运行时在系统中装载所述OS级的虚拟设备驱动程序,该虚拟设备驱动程序在系统中保持激活以监控任何打开文件的操作。该虚拟设备驱动程序在装载时给该杀病毒应用程序留下一个句柄(handle),便于二者间的数据通信。所述杀病毒程序通过DeviceIOControl通知虚拟设备驱动程序自己的进程ID。所述虚拟设备驱动程序在装载时修改调用所述操作系统中文件入口处理部分,即IFSMgr_RING0_FILEIO函数处理程序的文件调用入口,使得任何文件打开处理首先转向上述虚拟设备驱动程序的处理。
具体来讲,在WIN9X中是在IFS驱动中完成对文件共享冲突的检查,通过对IFS驱动分析发现文件共享冲突的检查程序的入口点保存在IFS驱动的VXD_SERVICES表的第0x31项中,位移为0x31*4。按照本发明,上述修改文件入口处理部分的参数以接管文件打开处理的过程是使杀毒软件的虚拟设备驱动程序在驱动程序初始化函数中,在装载设备驱动程序时,将该入口点修改为虚拟设备驱动程序自己的处理程序地址,这样就可以实现接管WIN9X的文件共享冲突机制。
在有一应用程序通过调KERNEL32.DLL模块的CREATEFILE函数处理程序(S32)、VMM(S33)、VWIN32.VXD的IFSMgr_RING0_FILEIO(S34)请求打开一个文件时,所述虚拟设备驱动程序从文件打开处理过程的IFSMgr_RING0_FILEIO提取所述调用者应用程序的进程ID号,将其与所述杀病毒程序的ID号相比较(S35),如果二者ID号相同,例如都为“1234”,则判断是杀病毒程序请求打开该文件,则直接转到文件打开实施部分VFAT.VXD FAT文件系统具体实现打开该文件(S38)。由此,该杀病毒程序完全控制了对该文件进行打开、读写、改写和删除等操作的权利,可以对该文件进行病毒的清除或文件删除等杀病毒的操作,以清除病毒。即使该文件是正被别的程序打开使用或正在运行的文件,如正在运行的系统文件,该杀毒程序也能对带毒文件进行改写、删除等清除病毒的操作。如果二者ID号不同,则判断是一般的应用程序请求打开该文件,然后回到文件共享检测机制部分IFSMgr.VXD进行文件共享冲突的检测(S36),检查是否允许打开此文件。如果该文件正被别的程序打开使用或正在运行有,存在共享冲突,则打开失败(S37);反之,由文件打开实施部分打开该文件,供调用者应用程序使用(S38)。
在所述杀病毒程序退出时,恢复被修改的所述文件入口处理部分的文件调用入口,即FS驱动的VXD_SERVICES表的第0x31项中,位移为0x31*4的入口点,从系统中卸载所述虚拟设备驱动程序。原操作系统中的文件打开处理的过程恢复原样。
图4示出了WINNT操作系统的给进程分配的地址空间示意图。如图1所示,WINNT中对于一进程的地址空间是如下划分的:在WINNT中每个进程的虚拟地址空间也是4GB,即从0x00000000到0xFFFFFFFF之间的区域。其中,分两个部分:从0x00000000到0x7FFFFFFF之间的区域这2GB字节是进程的私有空间,系统动态库KERNEL32.DLL、USER32.DLL、GDI32.DLL、ADVAPI32.DLL也装在这个空间;从0x80000000到0xFFFFFFFF之间的区域这2GB区间是操作系统的代码所在地,包括NTOSKRNL以及各种的设备驱动程序(SYS),低层存储管理代码和文件系统代码。
图5示出了WINNT操作系统本身的用于打开WINNT文件的系统流程的示意图。WINNT操作系统中也包含文件打开处理应用程序、操作系统核心部分、文件入口处理部分、文件共享检测机制部分和文件打开实施部分。在图5中,对WINNT,文件打开处理应用程序包括Kernel32.DLL模块的CreateFile函数处理程序和NTDLL.DLL模块的NTCreateFile函数处理程序;操作系统核心部分为NTOSKRNL;文件入口处理部分包括文件IO管理器和各种文件系统驱动程序FAT、FAT32、NTFS、CDFS等的入口点;文件共享检测机制部分为在NTOSKRNL中实现的文件共享检测机制;文件打开实施部分为FAT、FAT32、NTFS、CDFS等文件系统驱动程序。
如图5所示,首先,为打开目标文件,应用程序模块调用CreateFile(S51);Kernel32.DLL模块的CreateFile函数处理程序再调用NTCreateFile(S52);然后NTDLL.DLL模块的NTCreateFile函数处理程序通过INT2E由RING3进入RING 0(S53),由RING0中的NTOSKRNL(NT核心模块)进行处理(S54);再由文件IO管理器形成IRP请求包(S55),通过各种文件系统驱动程序FAT、FAT32、NTFS、CDFS等的入口点(S56),来调用NT的文件共享检测机制(该机制在NTOSKRNL中实现)来检测是否允许该目标文件被该应用程序所打开(S57);如果允许,则由文件系统驱动程序FAT、FAT32、NTFS、CDFS等来具体实现(S58);否则,标识为该应用程序不能打开该目标文件,即文件打开失败,原因为共享冲突(S59)。之后结束该文件打开的处理(S60)。
上述NT的文件共享检测机制在NTOSKRNL中实现。
因此,当一般的杀毒软件的应用程序试图对一个WINNT文件进行病毒清除或删除操作时(S31’),它必须通过上述图5的处理过程来打开该文件。如果该文件是一个正打开的WINNT系统文件,就会产生文件共享的冲突,使得该杀毒的应用程序无法取得对该目标文件的控制权,即无法打开该文件,也就不能进一步对该文件进行病毒的清除或文件删除的操作。病毒也就无法在不退出WINDOWS系统的情况下被清除。
为了使杀毒进程能够通过文件共享冲突检测机制的检测,必须接管系统中原有的NTOSKRNL中文件共享检测机制的这一部分代码。因为NT大部分核心功能都由NTOSKRNL实现,它非常庞大复杂,文件共享检测只是它全部功能的一小部分,所以无需完全接管其代码。按照本发明的一个实施例,只需要接管文件共享检测的入口点。因为NTOSKRNL在RING0运行,应用程序不能访问这一区域,必须使用设备驱动程序(SYS)对操作系统代码进行扩展。
为了接管上述入口点,在杀毒程序中附带使用一设备驱动程序(VxD)对操作系统代码进行扩展,以通过设备驱动程序接管WINNT自己的文件共享检测机制,使得对于其它进程的文件访问要进行正常的文件共享冲突检测;而对于自己的杀毒进程则进行修改过的文件共享冲突检测,使得文件请求能够正常通过。共享冲突检测只是在文件打开时进行,如果文件以读写方式打开,以后对该文件进行读或写时不再进行共享冲突检测。其具体实现如下。
图6示出了按照本发明的完全控制文件的方法的一个实施例,在WINNT操作系统中完全控制WINNT文件的处理方法的流程图。如图6所示,在瑞星的杀毒程序中包含一段设备驱动程序。当运行该杀病毒应用程序时,产生一杀病毒进程,系统给该杀病毒进程分配一ID号(系统会给每个运行的进程分配一ID号)(S61)。所述杀病毒应用程序在运行时在系统中装载所述OS级的设备驱动程序,该设备驱动程序在系统中保持激活以监控任何打开文件的操作。该设备驱动程序在装载时给该杀病毒应用程序留下一个句柄(handle),便于二者间的数据通信。所述杀病毒程序通过DeviceIOControl通知设备驱动程序自己的进程ID。所述设备驱动程序在装载时修改调用所述操作系统中文件入口处理部分,即NT的各种文件系统驱动程序入口点FAT、FAT32、NTFS、CDFS等的文件调用入口,使得任何文件打开处理首先转向上述设备驱动程序的处理。
具体来讲,WINNT是通过NTOSKRNL核心程序完成对文件共享冲突的检查,WINNT的共享冲突的检查分两个步骤进行,1.检查文件是否已经被其它进程打开;2.检查文件是否已经被映射到内存中。第一步的处理程序的入口位于NTOSKRNL的代码段的偏移0xC21C处,该入口没有输出也未被MICROSOFT公开接口。第二步的处理程序的入口位于NTOSKRNL的代码段的偏移0xD43C处,该入口没有输出也未被MICROSOFT公开接口。按照本发明的该实施例,杀毒软件的设备驱动程序在驱动程序初始化函数中修改这两个入口点,使其指向自己的自己处理程序,这样就实现了接管WINNT的文件共享冲突机制。
在有一应用程序通过调用Kernel32.DLL模块的CreateFile函数处理程序(S62)、NTDLLL.DLL模块的NTCreateFile函数处理程序(S63)、NTOSKRNL(S64)、IO管理器(S65)、NT文件系统驱动程序入口点(S66)等请求打开一个文件时,所述设备驱动程序从文件打开处理过程提取所述调用者应用程序的进程ID号,将其与所述杀病毒程序的ID号相比较(S67),如果二者ID号相同,例如都为“1234”,则判断是杀病毒程序请求打开该文件,则直接转到文件打开实施部分,即FAT,FAT32、NTFS,CDFS等文件系统驱动程序具体实现打开该文件(S70)。由此,该杀病毒程序完全控制了对该文件进行打开、读写、改写和删除等操作的权利,可以对该文件进行病毒的清除或文件删除等杀病毒的操作,以清除病毒。即使该文件是正被别的程序打开使用或正在运行的文件,如正在运行的系统文件,该杀毒程序也能对带毒文件进行改写、删除等清除病毒的操作。如果二者ID号不同,则判断是一般的应用程序请求打开该文件,然后回到NTOSKRNL中的文件共享检测机制部分。其中,进行文件共享冲突的检测(S68),检查是否允许打开此文件。如果该文件正被别的程序打开使用或正在运行,存在共享冲突,则打开失败(S69);反之,由文件打开实施部分打开该文件,供调用者应用程序使用(S70)。
在所述杀病毒程序退出时,恢复被修改的所述文件入口处理部分的文件调用入口,即位于NTOSKRNL的代码段的偏移0xC21C处和位于NTOSKRNL的代码段的偏移0xD43C处的入口点,从系统中卸载所述设备驱动程序。原操作系统中的文件打开处理的过程恢复原样。
按照本发明的杀病毒软件中所附的WIN9X的设备驱动程序与WINNT的设备驱动程序不是同一个程序,本发明的杀毒程序在运行时,实现检测操作系统的类型,看是WIN9X还是WINNT,再调用操作系统的功能装载相应的设备驱动程序。操作系统在装载该驱动程序时,作为装载过程的一部分,操作系统会调用驱动程序的初始化函数,在其中修改相应的文件共享检测机制部分的入口点参数,使文件打开处理首先转向杀病毒软件的设备驱动程序来处理。
在以上的举例的本发明的用于WIN9X和WINNT操作系统的完全控制文件的方法中,本发明的杀病毒软件的程序能够取得对染毒文件的完全控制权,即使是对正被其它程序打开使用的文件或正在正在运行的文件,包括正在运行并且不能退出的系统文件,也能够进行文件的改写和删除,从而能够清除病毒或删除带毒文件,而不用从WINDOWS退出到DOS。这样,就能使杀病毒软件在WINDOWS环境下直接对所有的带病毒文件进行直接清除和删除,从而从根本上解决感染了病毒的共享文件不能彻底清除的难题。尤其是对于NT系统,对感染病毒的系统文件提供了清除病毒的有效手段。
虽然本发明已以前述优选实施例说明,然其并非用于限制本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围的情况下,可作各种的更动与修改。因此本发明的保护范围以后附的权利要求为准。

Claims (7)

1、一种在计算机系统中完全控制一文件的方法,该计算机系统包括一计算机,WINDOWS操作系统,WINDOWS系统文件等,所述操作系统中包含文件打开处理应用程序、操作系统核心部分、文件入口处理部分、文件共享检测机制部分和文件打开实施部分,该方法包括以下步骤:
运行一杀病毒应用程序,产生一杀病毒进程,系统给该杀病毒进程分配一ID号;
所述杀病毒应用程序在运行时在系统中装载一OS级的设备驱动程序,并且所述杀病毒程序将自己的进程ID号传送给所述设备驱动程序;
所述设备驱动程序修改调用所述操作系统中文件入口处理部分的文件调用入口,使得任何文件打开处理首先转向上述设备驱动程序的处理;
在有一应用程序调用所述文件打开处理应用程序、操作系统核心部分、文件入口处理部分而请求打开一个文件时,所述设备驱动程序提取所述调用者应用程序的进程ID号,将其与所述杀病毒程序的ID号相比较,如果二者ID号相同,判断是杀病毒程序请求打开该文件,则直接转到文件打开实施部分打开该文件,由此,该杀病毒程序完全控制了对该文件进行打开、读写、改写和删除等操作的权利;如果二者ID号不同,判断是一般的应用程序请求打开该文件,则回到文件共享检测机制部分进行文件共享冲突的检测,如果有共享冲突,打开失败;反之,由文件打开实施部分打开该文件。
2、如权利要求1所述的方法,还包含以下步骤:在所述杀病毒程序退出时,恢复被修改的所述文件入口处理部分的文件调用入口,从系统中卸载所述设备驱动程序。
3、如权利要求2所述的方法,其中,所述设备驱动程序给该杀病毒应用程序留下一个句柄,便于二者间的数据通信,所述杀病毒程序通过DeviceIOControl通知设备驱动程序自己的进程ID。
4、如权利要求3所述的方法,其中,所述要打开的文件包括正在被其它程序打开使用或正在运行的文件,包括WINDOWS系统文件。
5、如权利要求1到4任何之一所述的方法,其中所述启动杀病毒程序的步骤还包括一识别所述计算机操作系统的类型的步骤,以判断该计算机操作系统是WIN9X还是WINNT。
6、如权利要求5所述的方法,其中对于WIN9X操作系统,所述文件打开处理应用程序包括Kernel 32.DLL模块的CreateFile函数处理程序;操作系统核心部分包括一虚拟机管理器;文件入口处理部分为系统的设备驱动程序VWIN32.VXD中的IFSMgr-Ring0_FileIO函数处理程序;文件共享检测机制部分为IFSMgr.VXD文件共享检测机制;文件打开实施部分为VFAT.VXD的FAT文件系统,所述设备驱动程序为虚拟设备驱动程序。
7、如权利要求5所述的方法,其中对于WINNT操作系统,所述文件打开处理应用程序包括Kernel32.DLL模块的CreateFile函数处理程序和NTDLL.DLL模块的NTCreateFile函数处理程序;操作系统核心部分为NTOSKRNL;文件入口处理部分包括文件IO管理器和FAT、FAT32、NTFS、CDFS等各种文件系统驱动程序入口点;文件共享检测机制部分为在NTOSKRNL中实现的文件共享检测机制;文件打开实施部分为FAT、FAT32、NTFS、CDFS等文件系统驱动程序。
CN 01142157 2001-09-14 2001-09-14 一种在计算机系统中完全控制文件的方法 Expired - Lifetime CN1241124C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01142157 CN1241124C (zh) 2001-09-14 2001-09-14 一种在计算机系统中完全控制文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01142157 CN1241124C (zh) 2001-09-14 2001-09-14 一种在计算机系统中完全控制文件的方法

Publications (2)

Publication Number Publication Date
CN1409227A CN1409227A (zh) 2003-04-09
CN1241124C true CN1241124C (zh) 2006-02-08

Family

ID=4676664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01142157 Expired - Lifetime CN1241124C (zh) 2001-09-14 2001-09-14 一种在计算机系统中完全控制文件的方法

Country Status (1)

Country Link
CN (1) CN1241124C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329828C (zh) * 2003-08-06 2007-08-01 华为技术有限公司 一种防止计算机病毒的方法及装置
FR2918863B1 (fr) * 2007-07-20 2009-10-09 Seb Sa Autocuiseur pourvu d'un ecran
US8276137B2 (en) * 2007-10-16 2012-09-25 International Business Machines Corporation Creating a virtual machine containing third party code
CN104462956B (zh) * 2013-09-23 2017-07-25 安一恒通(北京)科技有限公司 一种获得操作系统控制权的方法和装置
CN105183918A (zh) * 2015-10-16 2015-12-23 江苏省电力公司淮安供电公司 一种基于微驱动m-ifs实现快速目录监视方法
CN106371847B (zh) * 2016-09-07 2020-05-22 湖北三江航天万峰科技发展有限公司 Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN110659081B (zh) * 2019-09-10 2022-12-27 北京达佳互联信息技术有限公司 用于程序对象的文件处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN1409227A (zh) 2003-04-09

Similar Documents

Publication Publication Date Title
US11586736B2 (en) Systems and methods for detecting malicious processes
US11947667B2 (en) Preventing ransomware from encrypting files on a target machine
US10956184B2 (en) On-demand disposable virtual work system
US5144659A (en) Computer file protection system
US7814554B1 (en) Dynamic associative storage security for long-term memory storage devices
US20130254839A1 (en) Real time lockdown
US11494491B2 (en) Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
US8397297B2 (en) Method and apparatus for removing harmful software
WO2001026276A1 (en) Method and system for providing data security in a file system monitor with stack positioning
US20050076041A1 (en) Method, system, and program for processing a file request
JP7060714B2 (ja) セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法
Vokorokos et al. Application security through sandbox virtualization
WO2003017068A2 (en) Preventing virus infection in a computer system
WO2018212474A1 (ko) 독립된 복원영역을 갖는 보조기억장치 및 이를 적용한 기기
US20210397750A1 (en) Security component for devices on an enumerated bus
CN1241124C (zh) 一种在计算机系统中完全控制文件的方法
US8037526B1 (en) Detecting buffer overflows using frame pointer characteristics
AU768758B2 (en) Method and system for intercepting an application program interface
CN106548084A (zh) 文件安全防护方法及装置
Tan Defeating kernel native API hookers by direct service dispatch table restoration
US6986058B1 (en) Method and system for providing data security using file spoofing
AU2017201880A1 (en) User-mode component injection techniques
CN112597492A (zh) 一种基于Windows内核的二进制可执行文件更改监测方法
CN1427344A (zh) 一种计算机防火墙的设置方法及其系统
Kumar User-mode memory scanning on 32-bit & 64-bit Windows

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING RISING INTERNATIONAL SOFTWARE CO., LTD.

Free format text: FORMER OWNER: BEIJING RUIXING SCIENCE CO., LTD.

Effective date: 20080104

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080104

Address after: Room A408, Zhongke building, 22 Zhongguancun street, Haidian District, Beijing

Patentee after: Beijing Rising International Software Co., Ltd.

Address before: Room 1305, Zhongke building, 22 Zhongguancun street, Haidian District, Beijing

Patentee before: Ruixing Science and Technology Co., Ltd., Beijing

ASS Succession or assignment of patent right

Owner name: BEIJING RISING INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING RISING INTERNATIONAL SOFTWARE CO., LTD.

Effective date: 20101214

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 ROOM A408, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN STREET, HAIDIAN DISTRICT, BEIJING TO: 100190 ROOM 1301, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN STREET, HAIDIAN DISTRICT, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20101214

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing Rising Information Technology Co., Ltd.

Address before: 100080, A408 building, Zhongke building, 22 Zhongguancun street, Haidian District, Beijing

Patentee before: Beijing Rising International Software Co., Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing Rising Information Technology Co., Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd.

CP03 Change of name, title or address

Address after: 100190 Zhongguancun street, Haidian District, Beijing, No. 22, A1305, 13

Patentee after: Beijing net an Technology Limited by Share Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd

CP03 Change of name, title or address
CX01 Expiry of patent term

Granted publication date: 20060208

CX01 Expiry of patent term