CN105740028A - 一种访问控制方法及装置 - Google Patents
一种访问控制方法及装置 Download PDFInfo
- Publication number
- CN105740028A CN105740028A CN201610119582.4A CN201610119582A CN105740028A CN 105740028 A CN105740028 A CN 105740028A CN 201610119582 A CN201610119582 A CN 201610119582A CN 105740028 A CN105740028 A CN 105740028A
- Authority
- CN
- China
- Prior art keywords
- call back
- back function
- table call
- chained list
- registration table
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种访问控制方法及装置。所述方法的具体实施方式包括:监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数;如果是,则将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。本实施例能够实现目标客户端的优先访问。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种访问控制方法及装置。
背景技术
随着互联网的日益发展,用户电脑上可能安装有多款同类应用客户端,这些应用客户端的某些功能可以通过调用注册表回调函数的方式实现。具体的,各个应用客户端可以在用户电脑开机启动过程中注册各自的注册表回调函数,然后,在实现目标功能时调用其对应的注册表回调函数实现。
各个应用客户端的注册表回调函数一般存储在系统的注册表回调函数链表中,各个注册表回调函数在注册表回调函数链表中的顺序一般与各个应用客户端注册回调函数的时间相关,例如,注册回调函数的时间越早,该注册表回调函数的排序越靠前。
现有技术中,当各个应用客户端均具有目标功能时,一般通过调用上述应用客户端在注册表回调函数链表中排序最靠前的注册表回调函数实现该目标功能,此时便通过调用注册表回调函数实现了对相应应用客户端的访问,而不再调用链表中排序靠后的其他注册表回调函数,即其他应用客户端将不再被访问。
例如,当上述应用客户端是杀毒软件时,假设用户电脑上安装有金山毒霸、360安全卫士、QQ管家等客户端,并且这些客户端对应的注册表回调函数在链表中的排序为360安全卫士、QQ管家、金山毒霸。当发现系统中存在修改系统启动项的操作时,360安全卫士的注册表回调函数首先被调用,也就是通过调用360安全卫士检测该修改操作是否应该被允许,并给出相应的处理结果。而由于目标客户端金山毒霸的注册表回调函数排序靠后,因此针对此次修改系统启动项的操作,该客户端没有被调用,降低了其在用户电脑中的活跃度。可见,对于一个应用客户端而言,若其注册回调函数的时间相对较晚,则不利于保证其在用户电脑中的活跃度。
发明内容
本发明实施例的目的在于提供了一种访问控制方法及装置,能够实现目标客户端的优先访问。
为了达到上述目的,本发明公开了一种访问控制方法,应用于终端,所述方法包括:
监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数;
如果是,则将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
较佳的,所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
获取预设系统函数的函数地址D;
在[D,D+Th]范围内,获得存储设定特征编码的目标地址,其中,Th表示设定的地址段长度;
将所述目标地址确定为所述注册表回调函数链表的链表头的地址;
根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
较佳的,所述根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;其中,所述链表节点中存储有注册表回调函数和下一链表节点地址;
将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;
判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。
较佳的,监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数之前,所述方法还包括:
监测目标注册表回调函数是否已经完成注册;
如果是,则执行所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数的步骤。
较佳的,所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或
按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
为了达到上述目的,本发明还公开了一种访问控制装置,应用于终端,所述装置包括:
函数监测模块,用于监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数;
函数迁移模块,用于当监测到位于注册表回调函数链表的链表尾的注册表回调函数是目标注册表回调函数时,将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
较佳的,所述函数监测模块包括:
函数地址获取子模块,用于获取预设系统函数的函数地址D;
目标地址获取子模块,用于在[D,D+Th]范围内,获得存储设定特征编码的目标地址,其中,Th表示设定的地址段长度;
链表头地址确定子模块,用于将所述目标地址确定为所述注册表回调函数链表的链表头的地址;
函数监测子模块,用于根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
较佳的,所述函数监测子模块包括:
查找单元,用于从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;其中,所述链表节点中存储有注册表回调函数和下一链表节点地址;
确定单元,用于将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;
判断单元,用于判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。
较佳的,所述装置还包括注册监测模块,具体用于:
监测目标注册表回调函数是否已经完成注册;如果是,则触发函数监测模块。
较佳的,所述函数监测模块具体用于:
在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或
按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
由上述技术方案可见,本发明实施例中,当监测到注册表回调函数链表的链表尾的注册表回调函数为目标注册表回调函数时,将该目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用该目标注册表回调函数访问所述目标客户端,因此能够实现目标客户端的优先访问,提高目标客户端的活跃度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种访问控制方法的流程示意图;
图2为本发明实施例提供的另一种访问控制方法的流程示意图;
图3为本发明实施例提供的一种访问控制装置的结构示意图;
图4为本发明实施例提供的另一种访问控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种访问控制方法及装置,应用于终端,能够实现目标客户端的优先访问,提高目标客户端的活跃度。
下面通过具体实施例,对本发明进行详细说明。
图1为本发明实施例提供的一种访问控制方法的流程示意图,应用于终端,其包括如下步骤:
步骤101:监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
其中,所述注册表回调函数链表用于存储注册表回调函数的信息,该信息包括注册表回调函数的函数名称、函数参数和函数地址等。所述目标注册表回调函数为目标客户端对应的注册表回调函数。
本实施例具体是由安装于终端中的客户端来执行的。所述终端包括计算机、平板电脑、手机等电子设备。所述客户端一般是具有保护系统注册表功能的客户端。所述客户端包括杀毒软件类客户端、系统防护类客户端、防火墙类客户端等。
当用户电脑中安装了具有保护系统注册表功能的客户端时,一般都会通过注册表回调函数来实现对注册表的保护。当存在触发事件时,终端系统通过注册表回调函数来调用相应的客户端,以实现对客户端的访问。其中,所述触发事件包括修改注册表操作等等。
当用户电脑上安装有多款同类具有保护系统注册表功能的客户端时,每个客户端可以在终端启动过程中注册一个注册表回调函数,终端会根据这些注册表回调函数注册时间的先后,将其存储在注册表回调函数链表中。当存在触发事件时,排序靠前的注册表回调函数会优先被调用,例如,位于注册表回调函数链表的链表头的注册表回调函数就会优先被调用,进而调用该注册表回调函数指向的客户端,实现对该客户端的访问。而排序靠后的其他注册表回调函数将被穿透,即不被调用,其对应的客户端也将得不到调用。
假设,目标客户端为金山毒霸应用软件,终端中还安装有360安全卫士和QQ管家。金山毒霸、360安全卫士和QQ管家这些防护软件的注册表回调函数依次为A、B、C,按照注册的时间早晚,其在注册表回调函数链表中的排序为A→C→B,也就是说金山毒霸的注册表回调函数位于链表头。当终端检测到存在写注册表操作时,会触发系统调用上述各个防护软件的注册表回调函数,由于A位于注册表回调函数链表的链表头,所以,一般优先调用A。A将调用金山毒霸来判断该写注册表操作对应的注册表路径是否为需要保护的注册表路径,如果是,则金山毒霸将拒绝操作结果返回给A,A通知系统阻止该写注册表操作,从而实现注册表的保护。在这个过程中,金山毒霸通过A的调用实现了被访问的过程,当该写注册表操作被拒绝后,金山毒霸还可以给出提示信息,提示用户已经拦截该写注册表操作并保障了系统注册表的安全性。同时,这个过程提高了金山毒霸在用户电脑中的活跃度。
相反,如果金山毒霸的注册表回调函数A排序靠后,当遇到触发事件时,该应用客户端将不会被调用,不利于金山毒霸的优先防御。
本实施例中,为了能够更及时地监测到目标注册表回调函数是否位于链表尾,步骤101可以包括:在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
具体地,上述设定时刻可以理解为目标注册表回调函数完成注册的时刻,本领域内的技术人员可以理解的是,每次目标注册表回调函数注册完成后,其会位于注册表回调函数链表的链表尾,在这一时刻进行检测可以有效地保证成功监测到目标注册表回调函数,进而保证将目标注册表回调函数迁移至链表头。
另外,随着系统的不断运行,目标注册表回调函数还可能会被从链表头迁移至链表尾,因此,可以在固定时刻监测链表尾,固定时刻可以是每天的8时、10时和12时等时刻,也就是说上述设定时刻还可以是固定时刻,进一步的,上述设定时刻还可以是监测到存在注册表回调函数迁移操作的时刻等。
当然,为了及时地监测到目标注册表回调函数位于链表尾,还可以以设定频次监测链表尾,设定频次可以是5分钟一次、10分钟一次等。
本实施例中,步骤101之前,所述方法还可以包括:监测目标注册表回调函数是否已经完成注册;如果是,则执行所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数的步骤。也就是说,在本实施方式中,当目标客户端的注册表回调函数在每次完成注册时,都对链表尾的注册表回调函数进行监测,这样可以更及时、更高效地监测到目标注册表回调函数位于链表尾。
步骤102:当监测到位于注册表回调函数链表的链表尾的注册表回调函数是目标注册表回调函数时,将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
具体地,为了使操作过程更易于实施,将目标注册表回调函数从链表尾迁移至注册表回调函数链表的链表头可以包括:将目标注册表回调函数从链表尾删除,并将目标注册表回调函数插入注册表回调函数链表的链表头。
在实际应用中,假设注册表回调函数链表的链表头地址为ListHead,链表尾的目标注册表回调函数为A,则可以调用终端系统的移除尾部函数RemoveTailList移除链表尾的目标注册表回调函数,其中,上述函数的地址参数设置为ListHead,即可以将链表尾的A进行移除。然后,再调用终端系统的插入函数InsertHeadList在链表头插入目标注册表回调函数,其中,上述函数的插入地址和插入函数两个参数分别设置为ListHead和A,即可以将A插入链表头的位置,从而实现将A从链表尾迁移至链表头的操作。
当在链表头插入目标注册表回调函数之后,注册表回调函数链表中的其他注册表回调函数将顺次向后移动一个链表节点。
由上述内容可见,本实施例中,当监测到注册表回调函数链表的链表尾的注册表回调函数为目标注册表回调函数时,将该目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用该目标注册表回调函数访问所述目标客户端,因此能够实现目标客户端的优先访问,提高目标客户端的活跃度。
在本发明的另一实施方式中,为了实现监测链表尾的注册表回调函数的功能,可以先确定链表头的地址,即图1所示实施例中的步骤101可以按照图2所示的流程示意图进行,具体可以包括:
步骤101A:获取预设系统函数的函数地址D。
其中,预设系统函数是与注册表回调函数相关的系统函数,预设系统函数可以包括终端系统的卸载函数CmUnRegisterCallback、终端系统的注册函数CmRegisterCallBack等,当然也可以利用其他系统函数。其中,所述卸载函数的作用是卸载注册表回调函数,所述注册函数的作用是注册注册表回调函数,它们都是与注册表回调函数有关的系统函数,这些函数地址中保存有注册表回调函数链表的地址。
例如,在实际应用中,将所述卸载函数CmUnRegisterCallback作为预设系统函数时,可以调用终端系统的内核函数MmGetSystemRoutineAddress获取所述卸载函数的地址。由于该卸载函数是用于卸载系统中的注册表回调函数的,当它在执行卸载任务时,会先根据该卸载函数自身的地址信息定位注册表回调函数链表的地址,进而找到需要卸载的注册表回调函数,然后做卸载释放操作。其中,每个注册表回调函数都是保存在注册表回调函数链表中的。因此,可以根据该卸载函数的地址获得注册表回调函数链表的链表头地址。
步骤101B:在[D,D+Th]范围内,获得存储设定特征编码的目标地址。
其中,Th表示设定的地址段长度。
假设,获取到所述卸载函数CmUnRegisterCallback的地址为0x4000,并且设定的地址段长度Th为4kB,那么根据4kB=4096Bytes,即可以确定查找范围为[0x4000,0x8096]。
由于注册表回调函数链表的链表头地址中存储有设定特征编码,因此,当在预设范围内查找到设定特征编码时,即可以从该设定特征编码开始根据一般的地址长度获得目标地址。例如,所述设定特征编码可以为汇编码0x48、汇编码0x8d和汇编码0x54中的一种或多种,当然对于不同的系统而言,特征编码的具体内容可能有所不同,本申请并不对此进行限定。
在实际应用中,可以采用微软系统的反汇编调试工具windbg查看汇编码。
步骤101C:将所述目标地址确定为所述注册表回调函数链表的链表头的地址。
步骤101D:根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
由于注册表回调函数链表中可能存储有多个注册表回调函数,因此,在本发明的一种具体实施方式中,为了更准确地根据链表头的地址,监测链表头对应的链表尾的注册表回调函数,步骤101D可以包括:从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。其中,所述链表节点中存储有注册表回调函数和下一链表节点地址。
需要说明的是,在注册表回调函数链表中包含多个链表节点,每个链表节点中存储有注册表回调函数和下一链表节点地址,在链表尾对应的链表节点中下一链表节点地址为空。
由上述内容可见,在本实施例中,从预设系统函数的函数地址开始,在预设范围内将存储设定特征编码的目标地址确定为链表头的地址,可以更高效、更准确地确定链表头的地址,进而实现监测链表尾的注册表回调函数的功能。当监测到链表尾的注册表回调函数为目标注册表回调函数时,将该目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用该目标注册表回调函数访问所述目标客户端,因此能够实现目标客户端的优先访问,提高目标客户端的活跃度。
图3为本发明实施例提供的一种访问控制装置的结构示意图,应用于终端,与图1所示方法实施例相对应,所述装置具体包括:函数监测模块301和函数迁移模块302。
其中,函数监测模块301,用于监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数。
函数迁移模块302,用于当监测到位于注册表回调函数链表的链表尾的注册表回调函数是目标注册表回调函数时,将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
在本实施例中,函数监测模块301具体可以用于:在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
由上述内容可见,本实施例中,当监测到注册表回调函数链表的链表尾的注册表回调函数为目标注册表回调函数时,将该目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用该目标注册表回调函数访问所述目标客户端,因此能够实现目标客户端的优先访问,提高目标客户端的活跃度。
图4为与图2所示实施方式对应的另一装置结构示意图,应用于终端,该装置包括:函数监测模块401和函数迁移模块402。
需要说明的是,本实施例中,函数迁移模块402与图3中的函数迁移模块302相同,在此不再赘述。
在本实施例中,函数监测模块401具体可以包括:函数地址获取子模块4011、目标地址获取子模块4012、链表头地址确定子模块4013和函数监测子模块4014。
其中,函数地址获取子模块4011,用于获取预设系统函数的函数地址D;
目标地址获取子模块4012,用于在[D,D+Th]范围内,获得存储设定特征编码的目标地址,其中,Th表示设定的地址段长度;
链表头地址确定子模块4013,用于将所述目标地址确定为所述注册表回调函数链表的链表头的地址;
函数监测子模块4014,用于根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
本实施例中,函数监测子模块4014,可以包括:查找单元、确定单元和判断单元。(图中未示出)
其中,查找单元,用于从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;其中,所述链表节点中存储有注册表回调函数和下一链表节点地址;
确定单元,用于将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;
判断单元,用于判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。
在其他实施例中,所述装置还可以包括注册监测模块(图中未示出),具体用于:监测目标注册表回调函数是否已经完成注册;如果是,则触发函数监测模块。
由上述内容可见,本实施例中,当监测到注册表回调函数链表的链表尾的注册表回调函数为目标注册表回调函数时,将该目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用该目标注册表回调函数访问所述目标客户端,因此能够实现目标客户端的优先访问,提高目标客户端的活跃度。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解,上述实施方式中的全部或部分步骤是能够通过程序指令相关的硬件来完成的,所述的程序可以存储于计算机可读取存储介质中。这里所称存储介质,是指ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种访问控制方法,其特征在于,应用于终端,所述方法包括:
监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数;
如果是,则将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
2.根据权利要求1所述的方法,其特征在于,所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
获取预设系统函数的函数地址D;
在[D,D+Th]范围内,获得存储设定特征编码的目标地址,其中,Th表示设定的地址段长度;
将所述目标地址确定为所述注册表回调函数链表的链表头的地址;
根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;其中,所述链表节点中存储有注册表回调函数和下一链表节点地址;
将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;
判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。
4.根据权利要求1所述的方法,其特征在于,监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数之前,所述方法还包括:
监测目标注册表回调函数是否已经完成注册;
如果是,则执行所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数的步骤。
5.根据权利要求1所述的方法,其特征在于,所述监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数,包括:
在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或
按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
6.一种访问控制装置,其特征在于,应用于终端,所述装置包括:
函数监测模块,用于监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;其中,所述注册表回调函数链表用于存储注册表回调函数的信息,所述目标注册表回调函数为目标客户端对应的注册表回调函数;
函数迁移模块,用于当监测到位于注册表回调函数链表的链表尾的注册表回调函数是目标注册表回调函数时,将所述目标注册表回调函数从所述链表尾迁移至所述注册表回调函数链表的链表头,以使得在存在客户端访问需求的情况下,优先通过调用所述目标注册表回调函数访问所述目标客户端。
7.根据权利要求6所述的装置,其特征在于,所述函数监测模块包括:
函数地址获取子模块,用于获取预设系统函数的函数地址D;
目标地址获取子模块,用于在[D,D+Th]范围内,获得存储设定特征编码的目标地址,其中,Th表示设定的地址段长度;
链表头地址确定子模块,用于将所述目标地址确定为所述注册表回调函数链表的链表头的地址;
函数监测子模块,用于根据所述链表头的地址,监测所述链表头对应的链表尾的注册表回调函数是否为目标注册表回调函数。
8.根据权利要求7所述的装置,其特征在于,所述函数监测子模块包括:
查找单元,用于从所述链表头的地址开始向下查找每个链表节点,获得下一链表节点地址为空的目标链表节点;其中,所述链表节点中存储有注册表回调函数和下一链表节点地址;
确定单元,用于将所述目标链表节点中存储的注册表回调函数确定为所述链表头对应的链表尾的注册表回调函数;
判断单元,用于判断所述链表尾的注册表回调函数是否为目标注册表回调函数,如果是,则监测到所述链表头对应的链表尾的注册表回调函数是目标注册表回调函数。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括注册监测模块,具体用于:
监测目标注册表回调函数是否已经完成注册;如果是,则触发函数监测模块。
10.根据权利要求6所述的装置,其特征在于,所述函数监测模块具体用于:
在设定时刻监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数;或
按照设定频次监测位于注册表回调函数链表的链表尾的注册表回调函数是否为目标注册表回调函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610119582.4A CN105740028B (zh) | 2016-03-03 | 2016-03-03 | 一种访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610119582.4A CN105740028B (zh) | 2016-03-03 | 2016-03-03 | 一种访问控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740028A true CN105740028A (zh) | 2016-07-06 |
CN105740028B CN105740028B (zh) | 2019-07-12 |
Family
ID=56249890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610119582.4A Active CN105740028B (zh) | 2016-03-03 | 2016-03-03 | 一种访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740028B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428241A (zh) * | 2019-10-31 | 2020-07-17 | 北京深之度科技有限公司 | 一种多安全访问策略控制方法及计算设备 |
CN113282865A (zh) * | 2021-06-24 | 2021-08-20 | 广州欢网科技有限责任公司 | 页面访问数据采集方法及装置 |
CN113778870A (zh) * | 2021-09-07 | 2021-12-10 | 杭州雾联科技有限公司 | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116715A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | Windows平台可执行文件API延迟导入保护方法 |
US9098701B2 (en) * | 2010-06-15 | 2015-08-04 | Fasoo.Com Co., Ltd | Application module injection device, computing device including application module injection function, and recording medium for recording program for executing application module injection method |
CN105224309A (zh) * | 2015-09-02 | 2016-01-06 | 青岛中星微电子有限公司 | 一种调取函数的方法和装置 |
-
2016
- 2016-03-03 CN CN201610119582.4A patent/CN105740028B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098701B2 (en) * | 2010-06-15 | 2015-08-04 | Fasoo.Com Co., Ltd | Application module injection device, computing device including application module injection function, and recording medium for recording program for executing application module injection method |
CN103116715A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | Windows平台可执行文件API延迟导入保护方法 |
CN105224309A (zh) * | 2015-09-02 | 2016-01-06 | 青岛中星微电子有限公司 | 一种调取函数的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428241A (zh) * | 2019-10-31 | 2020-07-17 | 北京深之度科技有限公司 | 一种多安全访问策略控制方法及计算设备 |
CN111428241B (zh) * | 2019-10-31 | 2023-12-29 | 北京统信软件技术有限公司 | 一种多安全访问策略控制方法及计算设备 |
CN113282865A (zh) * | 2021-06-24 | 2021-08-20 | 广州欢网科技有限责任公司 | 页面访问数据采集方法及装置 |
CN113778870A (zh) * | 2021-09-07 | 2021-12-10 | 杭州雾联科技有限公司 | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105740028B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8943592B1 (en) | Methods of detection of software exploitation | |
CN102999343A (zh) | 禁止启动项目自启动的方法和装置 | |
CN105183564A (zh) | 基于云测试平台的设备调度方法、装置及系统 | |
CN103839007A (zh) | 一种检测异常线程的方法及系统 | |
CN114676424B (zh) | 一种容器逃逸检测与阻断方法、装置、设备及存储介质 | |
CN105740028A (zh) | 一种访问控制方法及装置 | |
CN111191243A (zh) | 一种漏洞检测方法、装置和存储介质 | |
CN103257881A (zh) | 基于浏览器的插件运行方法、浏览器装置及终端 | |
CN109889487A (zh) | 外部设备接入终端的处理方法及装置 | |
CN113282580A (zh) | 用于执行定时任务的方法、存储介质及服务器 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
CN105740384A (zh) | 一种爬虫代理自动切换方法及装置 | |
CN113037774B (zh) | 一种安全管理方法、装置、设备及机器可读存储介质 | |
CN113965406A (zh) | 网络阻断方法、装置、电子装置和存储介质 | |
CN106022117A (zh) | 防止系统环境变量修改的方法、装置及电子设备 | |
CN108920295A (zh) | 系统异常的处理方法、装置及系统 | |
US20140189449A1 (en) | Method and system for checking software | |
US9881155B2 (en) | System and method for automatic use-after-free exploit detection | |
CN106022109A (zh) | 一种防止线程暂停的方法、装置及电子设备 | |
CN115964420A (zh) | 数据库的审计方法、装置、设备、存储介质以及程序产品 | |
CN113312623B (zh) | 访问控制中的进程检测方法、装置、电子设备和存储介质 | |
CN105893845B (zh) | 一种数据处理方法及装置 | |
CA3138768A1 (en) | Data processing method, equipment, and device based on a timed task | |
CN106815523B (zh) | 一种恶意软件防御方法及装置 | |
CN103024537B (zh) | 智能电视预警方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181214 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |