Android 第三方SDK的检测与提取

Android 第三方SDK的检测一直是研究领域的热点与难点:
目前检测Android第三方SDK的方法主要分为两类
下手的目标也主要存在三点

首先说检测的点:

  1. AndroidManifest.xml文件: 从AndroidManifest.xml文件中可以获取许多关于第三方SDK的信息,从标签中获取名称与key值等
  2. smali代码结构:从smali代码结构和包名中同样可以获取sdk的信息,难度较大
  3. so文件:由于so文件的复杂性,从中提取sdk信息最为复杂,许多保密程度较高的应用会将第三方库的使用放入so文件中(部分病毒文件也这样做)因此如何提取so文件中的调用信息可以更加深入分析加密程度高的病毒文件

检测方法:

  1. 基于白名单的检测:基于白名单的检测是一种比较传统的方法:通过构建第三方库的白名单,将市面中所有流行的第三方库收集并放入库中,提取待检测的应用的第三方库清单信息,通过特征匹配的方式来识别使用了哪些的第三方sdk。
    难点:全面收集市场上的第三方sdk信息,并做到实时更新,工作量巨大。提取待检测应用信息时存在混淆加密的情况,如何应对混淆加密就成了一个难点。
  2. 基于聚类匹配的方式:基于聚类匹配的检测方法通常是搜集大量的应用来进行提取特征,将大量特征按照一定规则进行聚类,不同的类得到不同的标签,这样就实现了特征库的获取。然后通过特征库和标签来对待检测应用进行匹配即可。
    难点:计算资源大,需要预先处理大量的应用,耗费的计算资源,存储空间,时间都是巨大的。此外聚类算法,聚类规则的选择也很大程度上影响着检测结果。

而常见第三方SDK库有如下3种类型:

一、so类型文件
一般是C或C++语言的内容打包成的库,通常是在lib目录下,对于代码的调用较复杂

二、jar类型文件
JAR文件格式允许将许多文件组合成一个压缩文件,其中只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。
Jar库的优点:安全性、减少下载时间、传输平台扩展、包密封、包版本控制、可移植性。(大多数,因为可以兼容java)

三、aar类型文件
Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。
将aar解压(后缀改为.zip,再解压文件)打开后,可以看到每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt。(最近的SDK大多采用这种形式)

存在的部分难点:
(1)库代码经过混淆
(2)库代码经过修改与删除

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp是一种基于Vue.js开发的跨平台应用框架,可以让我们在一个代码库中同时开发iOS、Android和Web应用。在uniapp中引入第三方SDK是为了扩展应用的功能,让应用能够调用第三方SDK提供的服务或者使用第三方SDK提供的组件。 在uniapp中引入第三方SDK的步骤如下: 1. 下载并导入SDK:首先,我们需要从第三方SDK的官方网站或者开发者平台上下载SDK的安装包。然后,在uniapp的项目中创建一个用于存放第三方SDK文件的目录,并将SDK相关的文件复制到该目录中。 2. 注册SDKAppKey:一些第三方SDK在使用前需要先注册一个AppKey,并在应用启动时进行初始化。我们需要根据SDK的要求,将AppKey在uniapp的配置文件中进行配置,以便SDK能够正确地识别和使用。 3. 调用SDK的接口:一旦SDK配置完毕,我们就可以在uniapp的页面或者组件中调用SDK提供的接口了。根据SDK的文档或者示例代码,我们可以调用不同的接口实现具体的功能,比如发送消息、支付、分享等。 需要注意的是,由于uniapp是跨平台框架,不同平台对第三方SDK的支持程度可能会有所差异。在引入和使用第三方SDK的过程中,我们需要查阅对应平台的文档和示例代码,确保SDK能够在目标平台上正常使用。 总之,通过在uniapp中引入第三方SDK,我们可以为应用增加更多的功能和特性,丰富用户体验。同时,我们需要遵循SDK的文档和要求,正确地进行配置和调用,以确保SDK能够正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值