一种移动APP数据采集方法技术

技术编号:27367089 阅读:24 留言:0更新日期:2021-02-19 13:51
本发明专利技术公开一种移动APP数据采集方法,涉及数据采集技术领域;根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,若未获取签名算法的相关代码及方法,则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。用签名后数据发起网络请求进行数据采集。用签名后数据发起网络请求进行数据采集。

【技术实现步骤摘要】
一种移动APP数据采集方法


[0001]本专利技术公开一种采集方法,涉及数据采集
,具体地说是一种移动APP数据采集方法。

技术介绍

[0002]网络爬虫是当今互联网使用非常广泛的技术之一,目前已经应用到了金融、房产、贸易和科技等诸多领域。而在数据时代,网络数据是很多创业型公司基础数据的重要来源,无论是大数据、数据分析还是机器学习,都离不开网络爬虫为其采集基础数据。
[0003]但随着近些年互联网的迅猛发展,流量使用和用户习惯已从网页端转移到手机等移动设备上,并且现有移动设备上的APP通常需要签名验证才能获得相应的数据反馈,虽如果采用如Appium、Airtest Project等工具虽然能模拟真实的用户操作,但是对本地的资源消耗巨大,且采集数据时间较长,不利于数据采集。

技术实现思路

[0004]本专利技术针对现有技术的问题,提供一种移动APP数据采集方法,本专利技术提出的具体方案是:
[0005]一种移动APP数据采集方法:根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,
[0006]若未获取签名算法的相关代码及方法,则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,
[0007]利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,
[0008]利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。
[0009]优选地,所述的一种移动APP数据采集方法中在APP的设备上启动VPN,设置网络代理,通过将网络流量嫁接到PC端,获取APP的网络请求数据包。
[0010]优选地,所述的一种移动APP数据采集方法中利用JADX打开APP的源码并在APP源码搜索签名字段。
[0011]优选地,所述的一种移动APP数据采集方法中利用签名字段的签名算法,使用Xposed框架组装HOOK插件,并将安装包安装至移动设备。
[0012]一种移动APP数据采集系统:包括获取模块、搜索模块、验证模块及采集模块,
[0013]获取模块根据APP中的网络请求数据包,获取签名字段,搜索模块在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,
[0014]若未获取签名算法的相关代码及方法,搜索模块则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,
[0015]验证模块利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,
[0016]采集模块利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。
[0017]优选地,所述的一种移动APP数据采集系统中在APP的设备上启动VPN,设置网络代理,通过将网络流量嫁接到PC端,获取APP的网络请求数据包。
[0018]优选地,所述的一种移动APP数据采集系统中利用JADX打开APP的源码并在APP源码搜索签名字段。
[0019]优选地,所述的一种移动APP数据采集系统中利用签名字段的签名算法,使用Xposed框架组装HOOK插件,并将安装包安装至移动设备。
[0020]本专利技术的有益之处是:
[0021]本专利技术提供一种移动APP数据采集方法,根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。
[0022]通过本专利技术方法使用爬虫工具,不必担心APP的频繁迭代升级,降低了维护签名算法的成本;能显著降低采集过程中采集程序对本地机器资源的占用,一部手机或者模拟器就能提供签名服务;并且采集的速度能大幅提高,采集程序在爬取的过程中,时间主要花在采集数据的网络请求上,签名所用时间可以忽略不计,采集程序的采集速度能大幅的提高。
附图说明
[0023]图1是本专利技术方法应用框架示意图。
具体实施方式
[0024]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。
[0025]本专利技术提供一种移动APP数据采集方法:根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,
[0026]若未获取签名算法的相关代码及方法,则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,
[0027]利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,
[0028]利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。
[0029]通过本专利技术方法对APP进行逆向分析,找到APP中签名的算法入口,然后使用HOOK插件,并使用网络穿透技术将签名服务接出来,为采集程序提供签名服务。采集程序将调用HOOK到的签名算法,对需要签名的数据进行签名,并将签名后的数据放入到采集程序的请求头或参数中,在向服务器发起网络请求,以这种方式绕过服务器的爬虫校验,从而获取到需要的采集的数据。
[0030]具体应用中,在本专利技术的一些实施例中,分析APP中的网络请求数据包,找到已经签名的字段名;使用工具打开APP源码,在源码中搜索签名字段名,或者是网络请求的代码;使用Frida工具对找打的代码进行插桩验证,获取并分析签名前的参数,过程如下:
[0031]分析网络请求:需要在安装APP的设备上启动VPN,设置网络代理,将网络流量嫁接到PC上,在PC端打开抓包工具进行抓包,获取到APP的网络请求数据包,分析抓到的数据包,找打每次请求都在变化的签名字段,字段可能不止一个;
[0032]使用工具打开APK源码:使用JADX打开APP的源码,在打开的源码中先以签名字段为关键词在源码中进行搜索,找到签名算法相关的代码、方法,如果使用关键字没有搜索到任何代码,可以使用网络请求中的关键字进行搜索;
[0033]使用插桩工具验证搜索到的关键代码:编写HOOK关键方法的代码,使用Frida工具,对APP进行插桩,然后在APP上进行一些点击、滑动操作,验证查找的代码是否为关键的签名代码,并获取到签名的原始参数。
[0034]在上述基础上,本专利技术的另一些实施例,部署安装HOOK插件:分析APP的签名算法后,获取到关键的签名算法的入口方法,使用Xposed框架,编写APP的HOOK插件,将APP的签名算法的入口函数进行HOOK,并将HOOK到的入口方法外接出来,提供签名服务,最后将编写好的进行编译打包成APK安装到移动设备上;
[0035]安装APK:在手机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动APP数据采集方法,其特征是根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,若未获取签名算法的相关代码及方法,则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。2.根据权利要求1所述的一种移动APP数据采集方法,其特征是在APP的设备上启动VPN,设置网络代理,通过将网络流量嫁接到PC端,获取APP的网络请求数据包。3.根据权利要求1或2所述的一种移动APP数据采集方法,其特征是利用JADX打开APP的源码并在APP源码搜索签名字段。4.根据权利要求3所述的一种移动APP数据采集方法,其特征是利用签名字段的签名算法,使用Xposed框架组装HOOK插件,并将安装包安装至移动设备。5.一种移动APP数据采集系统,其特征是包括获取...

【专利技术属性】
技术研发人员:张庆晓杨胜华仇越
申请(专利权)人:浪潮卓数大数据产业发展有限公司
类型:发明
国别省市:

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

1