在线客服
扫描二维码
下载博学谷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++,离散数学,数据结构,数据库,软件工程,。零基础小白需要自修:Visual Basic、 Scripting、Frontpage, Flash。
9167
2019-05-30 09:38:22
软件编程入门自学书籍推荐
对于软件编程入门自学者来说,多看一些基础理论书籍是十分有必要的。这是因为大家在入门初期,往往对软件编程缺乏全面系统的了解,不知道从哪里入手学习比较好。看完专业书籍,对学习内容有了一定理解后,才好制定一份适合自己的学习大纲。本文将为大家推荐十本软件编程入门自学书籍,希望对大家的学习有所帮助。
15121
2019-08-30 17:47:35
如何学习电脑程序?菜鸟入门须知
在当下这个互联网高速发展的时代,许多人通过学习电脑程序,突破了人生职业发展的限制。正如网上的段子说的那样,人改变命运的机会有两次,一次是高考,另一次就是进入IT行业。虽然段子表述得过于夸张,但在一定程度上也反映了IT行业目前蒸蒸日上的发展前景。对于想要入门编程的菜鸟来说,应该如何学习电脑程序呢?下面我们来详细看一看学习的指南。
7615
2020-01-10 11:30:52
Kotlin从入门到实战学习规划
Kotlin强大的静态语言特性相信不用我多讲,大家都或多或少明白一些。无论是对于安卓程序员还是JavaEE程序员来说,掌握Kotlin都是十分有必要的。下面我将从Kotlin的学习必要性、学习内容和学习方法几个方面,来为大家逐一介绍Kotlin从入门到实战的学习规划,尤其是新手入门一定要好好看完本文的一些学习建议。
4225
2020-03-31 18:43:37
新手学编程有哪些要求?准备什么?
想学编程需要具备数学的基本常识,熟悉常用的英语词汇,有一定的计算机基础。编程是创造新事物的工作需要从业者具备创造事物的能力,学好编程的捷径就是不断敲代码练习,将理论知识运用到实际的项目中学以致用。
4579
2021-04-07 14:47:16