本发明专利技术涉及一种程序执行区域控制的方法和装置,其中,该方法包括:请求操作系统当程序被创建进程时发出进程创建通知和当程序被加载映像时发出加载映像通知;当接收到所述操作系统发出的所述进程创建通知和加载映像通知并且所述接收的进程创建通知和加载映像表明一个程序被创建进程且被加载映像时,确定所述被创建进程和被加载映像的程序所在的程序执行区域;根据所述确定的程序执行区域和预置条件,判断所述被创建进程和被加载映像的程序是否允许在所述操作系统中执行;以及,如果判断结果为否,则结束所述被创建进程和被加载映像的程序在所述操作系统的执行。该方法和装置能够有效地降低计算机感染病毒或恶意程序的可能性。
【技术实现步骤摘要】
本专利技术涉及一种程序执行区域控制的方法和装置。
技术介绍
随着计算机技术的发展,计算机的外部设备越来越多,例如光盘、 网络盘、移动硬盘等,这给用户带来便利的同时,也给病毒或恶意软 件的传播带来了更多的途径。通常情况下,诸如计算机的固定硬盘这样的程序执行区域一般不 会有病毒或恶意软件,病毒或恶意软件主要存在于诸如光盘或可移动 磁盘这样的程序执行区域中,并且利用操作系统的自启动机制来运行 自己。
技术实现思路
本专利技术的目的在于提供一种程序执行区域控制的方法和装置,其 能够有效地降低计算机感染病毒或恶意程序的可能性。为了实现本专利技术的目的,按照本专利技术的一种程序执行区域控制的 方法,包括步骤-请求操作系统当程序被创建进程时发出进程创建通知和当程序 被加载映像时发出加载映像通知;当接收到所述操作系统发出的所述进程创建通知和加载映像通 知并且所述接收的进程创建通知和加载映像表明一个程序被创建进 程且被加载映像时,确定所述被创建进程和被加载映像的程序所在的 程序执行区域;根据所述确定的程序执行区域和预置条件,判断所述被创建进程和被加载映像的程序是否允许在所述操作系统中执行;以及如果判断结果为否,则结束所述被创建进程和被加载映像的程序 在所述操作系统的执行。为了实现本专利技术的目的,按照本专利技术的8、 一种程序执行区域控 制的装置,包括请求模块,用于请求操作系统当程序被创建进程时发出进程创建 通知和当程序被加载映像时发出加载映像通知;确定模块,用于当接收到所述操作系统发出的所述进程创建通知 和加载映像通知并且所述接收的进程创建通知和加载映像表明一个 程序被创建进程且被加载映像时,确定所述被创建进程和被加载映像 的程序所在的程序执行区域;判断模块,用于根据所述确定的程序执行区域和预置条件,判断 所述被创建进程和被加载映像的程序是否允许在所述操作系统中执 行;以及结束模块,用于当判断结果为否时,结束所述被创建进程和被加 载映像的程序在所述操作系统的执行。附图说明通过以下结合附图的详细描述,本专利技术的其它特点、特征和优点 将变得更加显而易见。其中图1示出了按照本专利技术一个实施例的程序执行区域控制的方法 的流程图。具体实施例方式按照本专利技术的一个方面,首先预先设置不允许程序执行的程序执 行区域,其中,位于该程序执行区域中的程序不允许在操作系统中执 行,然后,当一个程序在操作系统中执行(该程序被创建进程和被加 载映像)时,获取该执行的程序所在的程序执行区域,并且判断该执 行的程序所在的程序执行区是否是预先设置的程序执行区域,最后,如果判断结果为是,则结束该执行的程序在操作系统中的执行,从而 有效地降低计算机感染病毒或恶意程序的可能性。下面,将结合附图详细描述本专利技术的各个实施例。图1示出了按照本专利技术一个实施例的程序执行区域控制的方法 的流程图。如图l所示,首先,设置不允许位于其上的程序执行的程序执行区域(步骤sioo)。在这里,所设置的程序执行区域可以是硬盘、软盘、光盘和/或移动硬盘,或者硬盘、软盘、光盘和/或移动硬 盘中的一个或多个指定的目录。调用 Windows 操作系统中的系统函数 PsSetCreateProcessNotifyRoutine()禾卩 PsSetLoadlmageNotifyRoutine() 来请求Windows操作系统当程序被创建进程时发出进程创建通知和 当程序被加载映像时发出映像加载通知(步骤S110)。其中,该进程 创建通知包括被创建进程的程序的PID,该映像加载通知包括被加载 映像的程序的PID和路径。当接收到Windows操作系统发出的一个进程创建通知时,将该 接收的进程创建通知所包括的被创建进程的程序的PID保存在一个 列表L中(步骤S120)。当接收到Windows操作系统发出的一个映像加载通知时,检查 列表L中是否存在有该接收的映像加载通知所包括的被加载映像的 程序P1的PID (步骤S130)。当歩骤S130的检查结果表明列表L中不存在有程序Pl的PID 时,流程结束。当步骤S130的检查结果表明列表L中存在有程序Pl的PED时, 程序Pl是一个被创建进程且被加载映像的程序,即程序Pl在 Windows操作系统中执行,在这种情况下,利用该接收的映像加载通 知所包括的程序Pl的路径,调用Windows操作系统中的系统函数 GetDriveType()来获知程序Pl所在的程序执行区域(步骤S140)。例 如,获知程序P1位于硬盘、软盘、光盘和移动硬盘等的哪判断程序Pl所在的程序执行区域是否是预先设置的程序执行区域(步骤S150)。当步骤S150的判断结果表明程序P1所在的程序执行区域不是预 先设置的程序执行区域时,流程结束。当步骤S150的判断结果表明程序P1所在的程序执行区域是预先 设置的程序执行区域时,结束程序Pl在Windows操作系统中的执行 (步骤S160)。在这里,因为程序P1实际已经加载到内存当中,但 还并未执行程序逻辑,所以在程序P1的程序入口点直接写入表示程 序逻辑已经执行完毕的RET返回指令,从而程序P1自动结束。本领域技术人员应当理解,虽然在上面的实施例中以Windows 操作系统为例描述了本专利技术,但是本专利技术并不局限于Windows操作 系统。本专利技术也可以应用于诸如Lirmx、Unix等这样的其它操作系统。上面实施例所描述的程序执行区域控制的方法可以利用软件、硬 件或者软硬件相结合的方式来实现。本领域技术人员应当理解,本专利技术的上述实施例所公开的程序执 行区域控制的方法和装置可以在不偏离专利技术实质的情况下做出各种 变型、改变和变化,因此,本专利技术的保护范围由所附的权利要求书限 定。权利要求1、一种程序执行区域控制的方法,包括步骤请求操作系统当程序被创建进程时发出进程创建通知和当程序被加载映像时发出加载映像通知;当接收到所述操作系统发出的所述进程创建通知和加载映像通知并且所述接收的进程创建通知和加载映像表明一个程序被创建进程且被加载映像时,确定所述被创建进程和被加载映像的程序所在的程序执行区域;根据所述确定的程序执行区域和预置条件,判断所述被创建进程和被加载映像的程序是否允许在所述操作系统中执行;以及如果判断结果为否,则结束所述被创建进程和被加载映像的程序在所述操作系统的执行。2、 如权利要求l所述的方法,其中,所述确定步骤进一步包括 当接收到所述操作系统发出的所述进程创建通知和加载映像通知并且所述接收的进程创建通知和加载映像表明一个程序被创建进 程且被加载映像时,获取所述被创建进程和被加载映像的程序的路 径;以及根据所述获取的路径,取得所述被创建进程和被加载映像的程序 所在的所述程序执行区域。3、 如权利要求l所述的方法,其中,所述获取步骤进一步包括: 当收到所述操作系统发出的所述进程创建通知时,存储被创建进程的程序的标识信息;当收到所述操作系统发出的所述加载映像通知时,检査被加载映 像的程序的标识信息是否存在所述存储的标识信息中;以及如果检查结果为是,则获得所述被加载映像的程序的路径,作为 所述被创建进程和被加载映像的程序的路径。4、 如权利要求3所述的方法,其中,所述加载映像通知包括所述被加载映像的程序的路径,所述获得步骤进一步包括如果所述检查结果为是,则从所述加载映像通本文档来自技高网...
【技术保护点】
一种程序执行区域控制的方法,包括步骤: 请求操作系统当程序被创建进程时发出进程创建通知和当程序被加载映像时发出加载映像通知; 当接收到所述操作系统发出的所述进程创建通知和加载映像通知并且所述接收的进程创建通知和加载映像表明一个程序被创建进程且被加载映像时,确定所述被创建进程和被加载映像的程序所在的程序执行区域; 根据所述确定的程序执行区域和预置条件,判断所述被创建进程和被加载映像的程序是否允许在所述操作系统中执行;以及 如果判断结果为否,则结束所述被创建进程和被加载映像的程序在所述操作系统的执行。
【技术特征摘要】
【专利技术属性】
技术研发人员:边陆,
申请(专利权)人:北京瑞星国际软件有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。