The invention relates to the field of information security technology, and discloses a method for identifying third party libraries in APP programs. By the invention, a method based on function call relationship can be provided to identify whether to use a third-party library in an APP obfuscated program. Considering embedding a third-party library in an APP program is to use its functions, conventional obfuscation does not change the call relationship between functions and the relative path between classes. Therefore, the function with the most complex call relationship is taken as the characteristic function, and the anti-obfuscation function eigenvalue is calculated for the eigenvalue. The third-party library can be uniquely represented by the eigenvalue of the function. By comparing the eigenvalues of subsequent functions, it is possible to identify with high precision whether the known function is used in the obfuscated APP program. The third party library is convenient for practical application and promotion.
【技术实现步骤摘要】
一种识别APP程序中第三方库的方法
本专利技术属于信息安全
,具体涉及一种识别APP程序中第三方库的方法。
技术介绍
当前安卓APP程序中经常嵌有大量的第三方库(即第三方的软件包),但是有可能已被混淆,很难识别出安卓APP程序中具体使用了哪些第三方库。目前识别第三方库的方法主要有如下两种:(1)直接使用函数名匹配的方法,即首先提取第三方库中函数的函数名,再提取APP程序中的函数名,通过函数名匹配的方法确定在APP程序中是否使用了该第三方库,但是如果APP程序出现代码混淆的话,就行不通了;(2)对第三方库中的所有类计算特征值,再对APP程序中的所有类计算特征值,最终进行特征值匹配,如果第三方库有60%以上的类出现在了APP程序中,就认为在APP程序中使用了该第三方库,但是这样识别的准确率不够高,需要60%这个阈值。由此有必要提供一种可识别一个给定APP程序中使用了哪些第三方库的新方法。
技术实现思路
为了解决现有技术存在的上述问题,本专利技术目的在于提供一种识别APP程序中第三方库的方法。本专利技术所采用的技术方案为:一种识别APP程序中第三方库的方法,包括如下步骤:S101.收集已知的第三方库;S102.针对各个第三方库,通过预处理获取对应第三方库中的所有函数,并根据函数调用关系确定该第三方库的特征函数;S103.针对各个第三方库的特征函数,确定第一函数特征值;S104.针对目标APP程序,通过预处理获取目标APP程序中的所有函数;S105.针对目标APP程序中的各个函数,按照与步骤S103一致的方法,确定第二函数特征值;S106.遍历目标APP程序中各 ...
【技术保护点】
1.一种识别APP程序中第三方库的方法,其特征在于,包括如下步骤:S101.收集已知的第三方库;S102.针对各个第三方库,通过预处理获取对应第三方库中的所有函数,并根据函数调用关系确定该第三方库的特征函数;S103.针对各个第三方库的特征函数,确定第一函数特征值;S104.针对目标APP程序,通过预处理获取目标APP程序中的所有函数;S105.针对目标APP程序中的各个函数,按照与步骤S103一致的方法,确定第二函数特征值;S106.遍历目标APP程序中各个函数的第二函数特征值,若与其中一个第三方库的第一函数特征值相同,则确定在目标APP程序中使用了该第三方库。
【技术特征摘要】
1.一种识别APP程序中第三方库的方法,其特征在于,包括如下步骤:S101.收集已知的第三方库;S102.针对各个第三方库,通过预处理获取对应第三方库中的所有函数,并根据函数调用关系确定该第三方库的特征函数;S103.针对各个第三方库的特征函数,确定第一函数特征值;S104.针对目标APP程序,通过预处理获取目标APP程序中的所有函数;S105.针对目标APP程序中的各个函数,按照与步骤S103一致的方法,确定第二函数特征值;S106.遍历目标APP程序中各个函数的第二函数特征值,若与其中一个第三方库的第一函数特征值相同,则确定在目标APP程序中使用了该第三方库。2.如权利要求1所述的一种识别APP程序中第三方库的方法,其特征在于,在所述步骤S103中,按照如下步骤确定第一函数特征值:S201.获取特征函数的返回值类型,若该返回值类型为系统类型,则将该返回值类型作为第一特征字段,否则获取该返回值类型与参考类的相对路径,并将经匿名化处理的该相对路径作为第一特征字段;S202.获取特征函数的所有参数类型,并针对每个参数类型,若该参数类型为系统类型,则将该参数类型作为第二特征字段,否则获取该参数类型与参考类的相对路径,将经匿名化处理的该相对路径作为第二特征字段;S203.判断特征函数是否拥有直接调用的被调用函数,若有则将被调用函数视为特征函数,按照与步骤S103一致的方法,获取各个被调用函数的函数特征值,然后依次拼接第一特征字段、所有的第二特征字段和...
【专利技术属性】
技术研发人员:闫晓艳,刘亮,张耀,
申请(专利权)人:四川普思科创信息技术有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。