当前位置:网站首页 > 安全测试 > 正文

sdk测试工具(app sdk测试)



在开发过程中,您通常会遇到技术选择的问题:我应该使用哪些第三方 SDK 来实现我想要的功能?我们在开发APP的时候,肯定要选择一些成熟的SDK,不会在上的Demo中找到代码来使用,这样可能会造成很多bug。现在有这样一款工具,可以让你查看主流APP使用的SDK,相信大型厂商使用的SDK都经过了严格的验证,比较放心。

前段时间,我们准备做一些事情来分析同行应用对第三方SDK的使用情况,我们开始考虑下载一些同行业的主流应用,然后反编译,然后逐一检查哪些SDK被使用。想想手动下载、反编译 APK 和逐个检查 SDK 使用情况的麻烦。如果我喜欢“懒惰”,我想知道我是否可以制作一个自动化工具来自动完成这些任务,或者大部分工作都是通过编程自动化完成的?如果用的是自动化程序,不需要局限于几个对等APP的,可以自动收集应用市场,或者APP,只要编写了自动化工具,以后收集多少APP都无关紧要,工作量也不会增加太多,于是就开始按照这个想法折腾了。

1. 准备工作

由于我熟悉 JAVA 作为后端技术,所以我用 JAVA 编写了这个程序。在编写工具之前,您需要准备以下工具:

二、设计思路

下面只介绍这个工具的设计思路,没有具体的代码,思路清楚之后写代码就很简单了。

1. 数据库设计

我们需要设计数据库表来收集数据,这很简单,我设计了 6 个表:

2. 获取APP安装包

各大应用市场都有 TOP xx 应用列表,这些 APP 一般都是用户使用较多的 APP,而这些 APP 使用的第三方 SDK 一般都是比较成熟的 SDK,值得我们参考。

我选择从小米应用市场下载热门应用作为数据分析样本,选择了超过1000个应用排名靠前的APK,我只选择分析应用应用,过滤掉游戏类别。

应用排行榜界面的url格式是这样的:,用来获取这些页面页面的源码,然后用解析后的网页的源码得到每个APP的详细网址地址,APP详情地址的格式是这样的:包名,然后在APP详情页解析出APK的下载地址,下载APK。除了APK的下载地址,还可以通过这个界面获取APP的其他基本信息,必要时可以保存到数据库中,我的存储在表中。

3. 反编译APK

下载APK后要做的工作是反编译APK,这里我们将使用抓取的APK。这一步其实很简单,你知道JAVA可以直接运行脚本命令,也可以反编译APK:

微信小程序游戏开发_重庆招聘小程序后台维护_怎么查看小程序后台开发文件

Runtime.getRuntime().exec("java -jar apktool.jar d -f " + apkPath + " -o " + outPath)

这里可能会有人问,反编译一个文件有什么用?反编译后,有两部分内容对我们有用:前缀目录和.xml。可以通过.xml获取apk的基本信息,必要时可以使用XML解析工具进行解析,我使用SAX进行.xml计算并获取每个APP的进程数,广播接收机数量和权限等信息。被认为是前缀的目录是我们主要使用的数据。如你所知,每个SDK的包名基本都是唯一的,重复的很少,java文件的包名和目录名都有对应的关系,这个APK的所有包名都可以通过获取文件所在的路径来知道。这样,就可以收集APK的所有包名,并将它们存储在数据库中以备后用。这里需要注意的是,在收集包名的时候可以做一个初步的筛选,直接过滤一些无用的或APK的包名,提高采集效率,避免收集一些垃圾数据。将此信息存储在表中。

4. 连接 SDK

这一步实在是太辛苦了,是不想吐的工作,也是这个SDK的采集过程中唯一需要手动完成的事情。在上一步中,我们已经收集了所有APP使用的包名,这一步我们需要检查这些包名,如果是非第三方SDK就删除,如果是SDK就记下SDK名称和备注,以便于后续搜索。

5. 前端接口

后台已经设置好了,你可以根据需要稍微改进一下,比如我们记录了每个应用的下载地址,可以定期更新。现在我们这里要做的就是开发一个前端接口,用于可视化操作查询,这部分就没什么好说的了,直接在渲染上写接口和调整接口就行了:

搜索界面

详:

6. 其他

以上哪里写错了还是要匆忙,欢迎您的意见,谢谢!

SDK查询地址:

数据下载地址:数据源

到此这篇sdk测试工具(app sdk测试)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何打开安全选项(怎么打开安全选项)2025-04-27 15:27:10
  • 带颜色的网站安全的网站有哪些(带颜色的网站安全的网站有哪些软件)2025-04-27 15:27:10
  • 安全选项在哪(安全选项是什么)2025-04-27 15:27:10
  • 消息认证码无法提供的安全属性是(消息认证码无法提供的安全属性是什么意思)2025-04-27 15:27:10
  • 服务器压力测试怎么做(服务器压力测试报告)2025-04-27 15:27:10
  • sdk的测试方法(sdk测试的前景)2025-04-27 15:27:10
  • 您需要使用安全选项卡(你需要使用安全选项)2025-04-27 15:27:10
  • 安全选项卡没有安全选项(安全选项界面)2025-04-27 15:27:10
  • ipv4测试网址(ipv4测试网站)2025-04-27 15:27:10
  • 安全选项卡(你需要使用安全选项卡)2025-04-27 15:27:10
  • 全屏图片