在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
现在的社会智能手机已经全面普及,而随之产生改变的还有应用软件(APP)取代网页,成为主流的技术。由于APP的内容一度无法被搜索引擎抓取到,移动互联网将带来一场搜索引擎的生存危机。不过,通过和应用软件开发商的合作,已经一定程度上化解了这场危机。现在,小编整理了抓取App的全面攻略,手把手指导大家如何一步一步操作。
一、APP数据采集,一般走以下两种方式:
1、抓包
抓包有代码经验或APP开发的同学都很容易理解,其实很多APP,走的都是webservice通讯协议的方式,并且由于是公开数据,而且大部分是无加密的。所以只要对网络端口进行监测,对APP进行模拟操作,即可知道APP里面的数据是如何获取的。我们只需要写代码模拟其请求,无论POST还是GET,即可得到该请求所返回的信息。再通过对返回的信息结构化解析,即可得到我们想要的数据。
2、HOOK技术
HOOK技术是一种走操作系统内核的技术,由于安卓系统是开源的,所以可以借助一些框架修改内核,从而实现你要的功能。HOOK的形式,我们走的是Xposed框架。Xposed是一款可以在不修改任何其他开发者开发的应用(包括系统服务)的情况下,改变程序运行的一个开源框架服务。基于它可以制作出许多功能强大的模块,以此来达到应用程序按照你的意愿运行的目的。如果把安卓手机看做一座城堡,那Xposed可以让你拥有一个上帝视角,城里的运作细节尽收你眼底,还能让你插一手改变城堡的运作规律。什么意思呢?简单的说就是你可以通过他,自动化的控制你的APP。如果将我们的APP开在模拟器上,我们可以通过编码,通过他告诉APP这一步干什么,下一步干什么。你把它理解成类似按健精灵或游戏打怪外挂就可以了。而他每走一步,APP与服务端交互的数据,均可获取下来。这种方式广泛用于一些成熟的APP。
二、模拟点击
基本原理(基于UIautomator)
通过程序模拟人的行为对APP的界面进行点击、滑动等操作,同时可以获取APP的Activity页面上的大部分控件上的文本信息(有一些可能获取不到,Uiautomator本身就获取不到)。
三、抓包工具
mac系统 Wireshark
Mac系统 charles
windows Fiddler
通常通过抓包工具来查看请求的接口和参数,简单的可以用fidder,手机端设置代理即可
如果要抓取像声音/视频这种udp的包 可以使用wireshark。
charlse 代理抓包利器
jadx apk反编译
xpoxed hook大法工具
ida 逆向中静态分析工具
以上就是抓取App的手把手步骤指导,你学会了吗?相信只要大家按照以上的步骤去操作,抓取App也是小菜一碟。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
C语言编程入门怎么学习?C语言和C++的区别
C语言编程入门怎么学习?C语言和C++的区别,C语言是面向过程,而C++是面向对象。很多人学习c语言直接背语法,连各种高深的算法都死记硬背,大学考计算机二级C语言证书,但并不能真正用c语言编写程序处理问题。想入门C语言编程不能死记硬背,要理论结合实际,学以致用。
6936
2019-08-02 16:08:31
如何学习计算机技术?自学计算机还是报班?
自学计算机还是报班?首先明确学习计算机的目标,找到适合自己的学习方法,有个积极的学习态度,如果自己学习能力较强自制力好可以通过自学,相反,基础差学习能力弱建议选择计算机培训班学习。
6041
2020-01-17 16:38:12
C视频教程在哪里看比较好?
C语言可以说是大家一直以来公认的最重要的编程语言之一,像UNIX、Windows、Linux都是用C语言开发的。如果想要成为一个优秀的程序员,C语言也可以说是必修课。对于许多想要通过视频入门编程的小白来讲,一套基础由浅入深的教程可以帮助大家更加有效率地学习。那么,C视频教程在哪里看比较好呢?下面小编将为大家推荐知名IT在线培训平台博学谷的C语言教程,感兴趣的朋友可以接着往下看。
5038
2020-02-17 10:26:55
安卓编程该如何入门?
对于初学安卓编程的小白来说,掌握基础才是重中之重。许多新手都喜欢从网上找找资料,以及观看各大媒体平台的学习资源,资源是最不缺的东西。那么该如何找到合适自己的学习方法才是最重要的,对于安卓编程该如何入门。
3451
2020-05-26 10:28:55
安卓编程入门学习要具备哪些能力?
随着安卓的不断发展壮大,安坐产品所占的市场份额也在不断扩张,全球安卓设备的使用量也不断提升,这也就导致安卓编程人才的需求量与日俱增,可以看出安卓编程的发展前景十分广阔。所以就有了许多人想要想要去学习安卓编程技术,那么安卓编程入门要具备那些能力,学什么?
3080
2020-06-16 15:53:06