指定函数被HOOK的处理方法、智能终端、存储介质技术

技术编号:26763105 阅读:39 留言:0更新日期:2020-12-18 23:20
本发明专利技术公开了指定函数被HOOK的处理方法、智能终端、存储介质,本发明专利技术涉及通信技术领域,所述方法包括:获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;根据所述地址变化状态,确定所述指定函数的HOOK状态;根据所述HOOK状态对所述指定函数进行防护处理。本发明专利技术实施例中可以对系统中核心函数进行被HOOK的检测,通过对核心函数的被HOOK状态的处理实现对被HOOK的核心函数的保护,既保护了核心函数又节省了资源。

【技术实现步骤摘要】
指定函数被HOOK的处理方法、智能终端、存储介质
本专利技术涉及数据安全
,尤其涉及的是指定函数被HOOK处理方法、智能终端、存储介质。
技术介绍
随着网络信息化的发展,人们对数据安全的重视程度也越来越高,为了保护计算机软件数据不因偶然和恶意的原因遭到破坏、更改和泄露,需要采取一些措施来确保网络数据的可用性、完整性和保密性。传统的函数保护方法,一般都是基于整个应用或者代码段的,而实际中,可能存在部分应用或部分代码段非常重要,因此,这部分应用或部分代码段被攻击时存在风险需要被保护,而其他应用或代码段则不需要被保护的情况,如果对所有应用和代码段都进行保护,会造成资源的浪费。因此,现有技术还有待改进和发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供指定函数被HOOK的处理方法,旨在解决现有技术中对所有应用和代码段都进行保护,造成资源的浪费的问题。本专利技术解决问题所采用的技术方案如下:第一方面,本专利技术实施例提供指定函数被HOOK的处理方法,其中,所述方法包括:获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;根据所述地址变化状态,确定所述指定函数的HOOK状态;根据所述HOOK状态对所述指定函数进行防护处理。在一种实现方式中,所述获取指定函数的加载前地址包括:在程序运行前,获取包含所述指定函数的类对象在可执行文件中的第一地址;根据所述第一地址得到所述类对象的数据信息;基于所述数据信息得到指定函数的加载前地址。在一种实现方式中,所述获取指定函数的加载后地址包括:获取所述指定函数在程序运行过程中产生的基址;提取程序运行过程中包含所述指定函数的第二地址;根据所述第二地址,将所述第二地址减去所述基址得到所述加载后地址。在一种实现方式中,所述根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态包括:获取地址变化状态标识的初始值;当所述加载前地址和所述加载后地址相等,将所述初始值变为0;当所述加载前地址和所述加载后地址不相等,将所述初始值变为1。在一种实现方式中,所述根据所述地址变化状态,确定所述指定函数的HOOK状态包括:当所述初始值为1时,则确定所述指定函数被HOOK;当所述初始值为0时,则确定所述指定函数未被HOOK。在一种实现方式中,所述根据所述HOOK状态对所述指定函数进行防护处理包括:当所述指定函数被HOOK时,对所述指定函数进行监听;当所述指定函数未被HOOK时,不执行操作指令。在一种实现方式中,所述对所述指定函数进行监听包括:当所述指定函数的被HOOK状态为内部被HOOK状态时,将监听状态置0;当所述指定函数的被HOOK状态为外部被HOOK状态时,将监听状态置1。在一种实现方式中,所述根据所述HOOK状态对所述指定函数进行防护处理还包括:当监听状态为0时,不执行操作指令;当监听状态为1时,进行反HOOK操作。第二方面,本专利技术实施例还提供指定函数被HOOK的处理装置,其中,所述装置包括:地址获取单元,用于获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;HOOK状态获取单元,用于根据所述地址变化状态,确定所述指定函数的HOOK状态;防护处理单元,用于根据所述HOOK状态对所述指定函数进行防护处理。第三方面,本专利技术实施还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的指定函数被HOOK的处理方法。第四方面,本专利技术实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的指定函数被HOOK的处理方法。本专利技术的有益效果:本专利技术实施例首先获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;然后,根据所述地址变化状态,确定所述指定函数的HOOK状态;最后,根据所述HOOK状态对所述指定函数进行防护处理。可见,本专利技术实施例中可以对系统中核心函数进行被HOOK的检测,通过对核心函数的被HOOK状态的处理实现对对被HOOK的核心函数的保护,既保护了核心函数又节省了资源。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的指定函数被HOOK的处理方法流程示意图。图2为本专利技术实施例提供的指定函数被HOOK的处理方法中获取指定函数的加载前地址的流程图。图3为本专利技术实施例提供的指定函数被HOOK的处理方法中获取指定函数的加载后地址的流程图。图4为本专利技术实施例提供的指定函数被HOOK的处理方法中根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态的流程图。图5为本专利技术实施例提供的指定函数被HOOK的处理方法中步骤S200的流程图。图6为本专利技术实施例提供的指定函数被HOOK的处理方法中步骤S300的流程图。图7为本专利技术实施例提供的指定函数被HOOK的处理方法中对所述指定函数进行监听的流程图。图8为本专利技术实施例提供的指定函数被HOOK的处理方法中根据所述HOOK状态对所述指定函数进行防护处理的流程图。图9是本专利技术实施例提供的指定函数被HOOK的处理装置的原理框图。图10本专利技术实施例提供的智能终端的内部结构原理框图。具体实施方式本专利技术公开了指定函数被HOOK的处理方法、智能终端、存储介质,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连本文档来自技高网
...

【技术保护点】
1.一种指定函数被HOOK的处理方法,其特征在于,所述方法包括:/n获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;/n根据所述地址变化状态,确定所述指定函数的HOOK状态;/n根据所述HOOK状态对所述指定函数进行防护处理。/n

【技术特征摘要】
1.一种指定函数被HOOK的处理方法,其特征在于,所述方法包括:
获取指定函数的加载前地址和加载后地址,并根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态;
根据所述地址变化状态,确定所述指定函数的HOOK状态;
根据所述HOOK状态对所述指定函数进行防护处理。


2.根据权利要求1所述的指定函数被HOOK的处理方法,其特征在于,所述获取指定函数的加载前地址包括:
在程序运行前,获取包含所述指定函数的类对象在可执行文件中的第一地址;
根据所述第一地址得到所述类对象的数据信息;
基于所述数据信息得到指定函数的加载前地址。


3.根据权利要求1所述的指定函数被HOOK的处理方法,其特征在于,所述获取指定函数的加载后地址包括:
获取所述指定函数在程序运行过程中产生的基址;
提取程序运行过程中包含所述指定函数的第二地址;
根据所述第二地址,将所述第二地址减去所述基址得到所述加载后地址。


4.根据权利要求1所述的指定函数被HOOK的处理方法,其特征在于,所述根据所述加载前地址和所述加载后地址,确定所述指定函数的加载前后的地址变化状态包括:
获取地址变化状态标识的初始值;
当所述加载前地址和所述加载后地址相等,将所述初始值变为0;
当所述加载前地址和所述加载后地址不相等,将所述初始值变为1。


5.根据权利要求4所述的指定函数被HOOK的处理方法,其特征在于,所述根据所...

【专利技术属性】
技术研发人员:杨洪海冉山川
申请(专利权)人:北京智游网安科技有限公司
类型:发明
国别省市:北京;11

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

1