用于卸载的监控方法技术

技术编号:2880873 阅读:317 留言:0更新日期:2012-04-11 18:40
一种用于反安装的监控方法,将位于Ring0层的文件记录与登录记录转换为Ring3层也可操作调用,再通过任务监控、文件记录、登录记录以及重启保护四个部分的支持,而执行检测、监控安装程序以及记录其所更改的文件与设定内容,同时由于重启保护部分会拦截系统启动函数,因此可以保护在安装过程所记录的数据不会遗失,又由于每一安装程序皆可对应一Ring3层文件纪录与登录记录,使得本发明专利技术可以同时监控多个安装程序,而不会有将安装记录弄错的问题。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种,特别涉及一种可以同时监控多个安装程序,且在监控期间不受使用者其他操作影响的监控方法。一般来说,如果想要在电脑系统中使用某一软件,需要先从磁盘或光盘中执行一安装程序(install.exe或setup.exe),以将软件数据存入硬盘的相关目录中,之后才能正常执行该软件,上述的动作过程称为安装(install或setup)。安装一电脑软件不只是将其文件数据复制到硬盘之中,同时会修改作业系统的相关环境设定;相反地,若要将软件由电脑系统中除去,只将该软件的所在目录删除是不够的,还必须在作业系统(尤其是像Windows这种整合式环境)中移除某些设定才行,否则软件会移除得不十分干净。虽然没有将软件的相关环境设定移除干净,一时之间也许不会使电脑出错,但长久下来,由於电脑一直执行许多不必要的设定内容,因此会严重浪费系统资源并影响电脑运作效率,最後甚至会使得电脑常掉机。为避免上述的问题发生,以便让使用者能够将所安装的软件完整从硬盘中移除,因此出现了一种解除安装程序,或称为反安装(uninstall)程序。由於反安装程序在执行解除安装的动作时,必须知道要移除哪些与该软件相关的目录与环境设定数据,故在软件安装之前需先启动该反安装程序,让反安装程序能监控并记录其设定内容。而目前的安装监控技术大都以“快照比较”为基础,也就是说反安装程序会在软件安装之前,先将电脑系统内相关的目录路径、登录与可能被修改的设定内容做一次的扫描与纪录,之后在软件安装完成之后,再扫描与纪录一次电脑系统的目录路径、登录与设定内容,两相比较之下,反安装程序便知道安装该软件所增加或改变的环境系统设定。上述公知方法的特点是在同一时间中只能监控一个安装程序,并且要求使用者在监控期间不能有任何的修改动作,否则会导致监控记录错误,造成安装过程的失败,如果安装程序具有重启动功能,则会使监控过程中遗失记录,因而不能获得正确的监控结果。有监于此,本专利技术的目的在于提供一种,设计一种可以同时监控多个安装软件的反安装程序,并且其监控期间的纪录也不受使用者的其他操作影响。根据上述本专利技术的目的,本专利技术提供的一种应用于监控至少一安装程序的安装过程,以作为反安装(Uninstall)时移除数据的依据,将原本在Ring0层访问权限的文件纪录(File Record)与登录记录(Registry Record),转换为在Ring3层访问权限也可操作调用的一新文件纪录与一新登录记录,然后利用任务监控模块监测执行中的进程是否有安装程序,一但发现有安装程序在电脑系统中启动,则通知文件纪录模块与登录纪录模块,分别对文件系统数据与登录数据的更改前后内容进行备份与纪录,最后通过重启保护模块拦截系统启动程序,以避免电脑重新启动而造成安装纪录数据的遗失。其具体步骤包括拦截一执行中软件的进程识别码(Process ID),并确认该软件为该安装程序;将位於中央处理单元(CPU)的Ring0层访问权限的一文件纪录(File Record)与一登录记录(Registry Record),转换为在Ring3层访问权限也可操作调用的一新文件纪录与一新登录记录;监测该安装程序对该新文件纪录与一文件系统的输入/输出(I/O)操作,并且对该新文件纪录与该文件系统的内容备份;监测该安装程序对该新登录记录的输入/输出(I/O)操作,并且对该新登录记录的内容备份;以及利用该安装程序中之一跳转(Jump)命令而拦截电脑的系统启动函数。由于本专利技术让每一个安装程序对应一个Ring3层的文件纪录与登录记录,因此可以让多个安装程序同时进行安装程序而不会将安装纪录弄错。为让本专利技术的上述和其他目的、特征、和优点能更明显易懂,下文特举一优选实施例,并配合附图作详细说明如下。附图说明图1A显示本专利技术的功能模块示意图;图1B显示本专利技术将纪录由Ring0层访问权限转换为Ring3层访问权限的示意图;图2显示本专利技术中任务监控的流程图;图3显示本专利技术中文件纪录的流程图;图4显示本专利技术中登录记录操作的流程图;图5显示本专利技术中重启保护的流程图;以及图6显示本专利技术中由Ring0层到Ring3层的数据转换流程图。附图符号说明100.................Ring0层101.................文件纪录102.................登录纪录110.................Ring3层111.................文件纪录112.................登录纪录120.................Ring0层到Ring3层数据转换模块130.................任务监控模块140.................文件纪录模块150.................登录纪录模块160.................重启保护模块请参照图1A,图中显示本专利技术的安装监控功能由四个部份所支持,即任务监控模块130、文件记录模块140、登录记录模块150和重启保护模块160;除此之外,请参照图1B,本专利技术也须另外将Ring0层的文件记录(File Record)和登录记录(Registry Record),利用一数据转换模块120转换成Ring3层的文件记录和登录记录,之后,再由上述四个功能模块任务监控模块130、文件记录模块140、登录记录模块150和重启保护模块160来共同完成安装监控的功能。至于上述四个功能模块的各自操作流程详述如下任务监控模块130请参照图2,该模块130通过对Win32API的拦截,来完成对系统任务(Task)的监控,首先调用与被处理进程相关的创建进程函数(CreateProcess)(步骤201),然后读取当前进程的识别码(Process ID)(步骤202),并且从原函数反馈值中取出被创建进程的识别码,同时将这个识别码ID发送给主控程序(步骤203),由主控程序判断该进程是否为安装程序进程(步骤204),如果是,则通知主控程序为该任务建立一个新的记录(步骤205),如果否,则返回,继续等待下次调用(步骤206)。文件记录模块140请参照图3,首先调用拦截函数,以拦截文件系统的I/O操作(步骤301),然后判断目前正在执行的程序是否被监控(步骤302)?如果是,则判断当前的操作是否为开启文件(Open File)操作(步骤303),如果也是,则分析其存取(Access)操作权限(步骤309),同时判断其是否为破坏性操作(步骤310),如果又是,则备份该文件内容(步骤306),程序返回;如果不是,则直接结束程序。若之前判断目前操作不是开启文件操作,则继续判断当前操作是否为删除(Delete)操作(步骤304),如果是,则备份文件内容(步骤308);如果不是,则进一步判断当前操作是否为重命名(Rename)操作(步骤305),如果是,备份该文件内容(步骤306),如果仍然不是,则视为当前操作无效,程序返回,等待下一次操作(步骤307);登录记录模块150请参照图4,本专利技术通过对登录(Registry)的输入/输出(I/O)监测,以记录安装程序对其所做的修改。首先调用拦截函数,置换Ring0层与Ring3层的登录地址(步骤401),然后拦截输本文档来自技高网...

【技术保护点】
一种用于反安装的监控方法,应用于监控至少一安装程序的安装过程,以作为反安装(Uninstall)时移除数据的依据,其包括: 拦截一执行中软件的进程识别码(Process ID),并确认该软件为该安装程序; 将位于中央处理单元(CPU)的Ring0层访问权限的一文件纪录(File Record)与一登录记录(Registry Record),转换为在Ring3层访问权限也可操作调用的一新文件纪录与一新登录记录; 监测该安装程序对该新文件纪录与一文件系统的输入/输出(I/O)操作,并且对该新文件纪录与该文件系统的内容备份; 监测该安装程序对该新登录记录的输入/输出(I/O)操作,并且对该新登录记录的内容备份;以及 利用该安装程序中之一跳转(Jump)命令而拦截电脑的系统启动函数。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈玄同林光信
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1