应用程序的合规检测方法、装置及电子设备制造方法及图纸

技术编号:35062817 阅读:25 留言:0更新日期:2022-09-28 11:18
本申请公开了一种应用程序的合规检测方法、装置及电子设备,用于解决现有的合规检测方法不适合开发阶段进行随时、批量化的应用程序合规检测的问题。所述方法包括:获取目标应用程序的项目文件中用于采集目标用户信息的目标方法函数;通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签,其中,所述授权标签用于指示对应的目标用户信息是否经过用户授权;基于所述目标方法函数在被调用时采集的目标用户信息的授权标签,确定所述目标应用程序是否合规。确定所述目标应用程序是否合规。确定所述目标应用程序是否合规。

【技术实现步骤摘要】
应用程序的合规检测方法、装置及电子设备


[0001]本申请涉及计算机
,尤其涉及一种应用程序的合规检测方法、装置及电子设备。

技术介绍

[0002]依据国家相关法律法规,个人信息需要经过用户知晓并同意才可以进行采集使用。为此,应用程序需要在首次启动时对采用用户信息的行为进行说明及告知,在取得用户同意后方可进行后续采集使用。由于在应用程序的开发阶段,开发者无法确保开发出的应用程序在取得用户同意之前不会采集用户信息,因此,对应用程序进行合规检测尤为重要。
[0003]目前的检测方法都是通过将应用程序的项目文件打包后交由第三方机构,通过各种越狱、逆向注入以及重签名等工具,检测应用程序是否违规获取用户信息。但是,这种检测方式的效率低,不适合在开发阶段进行随时、批量化的应用程序合规检测。

技术实现思路

[0004]本申请实施例的目的是提供一种应用程序的合规检测方法、装置及电子设备,用于解决现有的合规检测方法不适合开发阶段进行随时、批量化的应用程序合规检测的问题。
[0005]为了实现上述目的,本申请实施例采用下述技术方案:
[0006]第一方面,本申请实施例提供一种应用程序的合规检测方法,包括:
[0007]获取目标应用程序的项目文件中用于采集目标用户信息的目标方法函数;
[0008]通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签,其中,所述授权标签用于指示对应的目标用户信息是否经过用户授权;
[0009]基于所述目标方法函数在被调用时采集的目标用户信息的授权标签,确定所述目标应用程序是否合规。
[0010]第二方面,本申请实施例提供一种应用程序的合规检测装置,包括:
[0011]第一获取单元,用于获取目标应用程序的项目文件中用于采集目标用户信息的目标方法函数;
[0012]第二获取单元,用于通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签,其中,所述授权标签用于指示对应的目标用户信息是否经过用户授权;
[0013]合规检测单元,用于基于所述目标方法函数在被调用时采集的目标用户信息的授权标签,确定所述目标应用程序是否合规。
[0014]第三方面,本申请实施例提供一种电子设备,包括:
[0015]处理器;
[0016]用于存储所述处理器可执行指令的存储器;
[0017]其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
[0018]第四方面,本申请实施例提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
[0019]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0020]利用钩子(Hook)函数能够在某个方法函数被调用时先捕获传递给该方法函数的消息而取得控制权的功能,通过从应用程序的项目文件中获取用于采集用户信息的目标方法函数,并通过钩子函数的上述功能拦截目标方法函数在被调用时采集的用户信息;进一步,通过为用户信息设置相应的授权标签来表示用户信息是否经过用户授权,在通过钩子函数拦截用户信息之后,利用所拦截的用户信息的授权标签即可确定目标方法函数是否在取得用户授权之前违规采集这类用户信息,进而实现对应用程序的违规检测;可见,本申请实施例提供的检测方法,利用钩子函数和用户信息的授权标签即可实现对应用程序的自动化合规检测,实现简单、效率高,可用于进行随时、批量化的应用程序合规检测。
附图说明
[0021]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0022]图1为本申请的一个实施例提供的一种应用程序的合规检测方法的流程示意图;
[0023]图2为本申请的另一个实施例提供的一种应用程序的合规检测方法的流程示意图;
[0024]图3为本申请的一个实施例提供的一种钩子函数绑定方法的示意图;
[0025]图4为本申请的另一个实施例提供的一种钩子函数绑定方法的示意图;
[0026]图5为本申请的一个实施例提供的一种应用程序的合规检测装置的结构示意图;
[0027]图6为本申请的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
[0028]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0029]本说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应理解,这样使用的数据在适当情况下可以互换,以便本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,本说明书和权利要求书中“和/或”表示所连接的对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
[0030]部分概念说明:
[0031]合规检测:检测应用程序对于用户信息的采集是否符合国家相关法律法规,也即应用程序所采集的用户信息是否取得用户同意。
[0032]Objective

C:扩充C的面向对象编程语言,是一种iOS系统的应用程序开发语言。
[0033]钩子函数:又称为Hook函数。在系统通过向某个方法函数传递某个消息来调用该方法函数时,钩子函数可以先捕获到该消息而取得控制权,进而可以对该消息进行加工、改
变等处理。
[0034]SDK:Software Development Kit,软件开发工具包。是一种为了避免暴露源码而以.a和.framework形式提供服务的静态库。
[0035]Fishhook:Facebook提供的一个动态修改链接Mach

O文件的工具,它能够Mach

O文件加载原理,通过修改懒加载表和非懒加载表这两个表的指针达到C函数Hook的目的。
[0036]Mach

O:是Mach Object的缩写,是在Mac以及iOS上可执行的一种文件格式,包括但不限于可执行文件(.out和.o)、动态库、静态库等。
[0037]CocoaPos:是OSX和iOS下的一个第三类库管理工具。
[0038]PIC:位置代码独立技术,即代码共享缓存技术。
[0039]如前文所述,目前的检测方法都是通过将应用程序的项目文件打包后交由第三方机构,通过各种越狱、逆向注入以及重签名等工具,检测应用程序是否违规获取用户信息。但是,这种检测方式的效率低,不适合在开发阶段进行随时、批量化的应用程序合规检测。
[0040]有鉴于此,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的合规检测方法,其特征在于,包括:获取目标应用程序的项目文件中用于采集目标用户信息的目标方法函数;通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签,其中,所述授权标签用于指示对应的目标用户信息是否经过用户授权;基于所述目标方法函数在被调用时采集的目标用户信息的授权标签,确定所述目标应用程序是否合规。2.根据权利要求1所述的方法,其特征在于,所述通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签,包括:基于所述目标方法函数的类型,将所述目标方法函数与所述目标方法函数对应的钩子函数进行绑定;通过所述目标方法函数对应的钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标方法函数的类型,将所述目标方法函数与所述目标方法函数对应的钩子函数进行绑定,包括:若所述目标方法函数为系统底层函数,则解析所述项目文件,得到目标符号表和目标字符串表,所述目标符号表包括预设函数的函数名和指向所述预设函数的指针,所述目标字符串表包括指向所述预设函数的指针与所述预设函数在所述项目文件中的地址;基于所述目标符号表和所述目标字符串表,确定所述目标方法函数在所述项目文件中的地址;将所述目标方法函数在所述项目文件中的地址修改为所述目标方法函数对应的钩子函数的实现地址。4.根据权利要求2所述的方法,其特征在于,所述基于所述目标方法函数的类型,将所述目标方法函数与所述目标方法函数对应的钩子函数进行绑定,包括:若所述目标方法函数为基于系统开发语言编写的自定义方法函数,则获取所述目标方法函数的第一方法实现和所述目标方法函数对应的钩子函数的第二方法实现;基于预设交换方法对所述第一方法实现和所述第二方法实现进行交换处理。5.根据权利要求1所述的方法,其特征在于,在通过钩子函数,获取所述目标方法函数在被调用时采集的目标用户信息的授权标签之前,所述方法还包括:监听对所述...

【专利技术属性】
技术研发人员:王永选姜英朕蒋宁罗展松吴鹏吴海英
申请(专利权)人:马上消费金融股份有限公司
类型:发明
国别省市:

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

1