首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >App爬虫思路

App爬虫思路

作者头像
小歪
发布2018-12-17 15:22:25
2.8K0
发布2018-12-17 15:22:25
举报

评估分析

在抓包前,建议一定要先分析。

有网页端抓网页端、有移动端抓移动端、有客户端抓客户端,最后的选择才是App。

举个例子。针对腾讯视频考虑顺序:

  1. 网页端:https://v.qq.com/
  2. 移动端:https://m.v.qq.com/index.html
  3. 客户端:通过charles设置代理抓取
  4. App

腾讯自己就有做应用加固的,旗下产品自然很难被编译

如果你能反编译腾讯旗下App,请告诉我方法

如何抓包

在知乎上也有这个问题 如何在 Android 手机上实现抓包?

但是我觉得不够全,首先对于一般的HTTP和HTTPS协议,通过最基本的Fiddler和Charles就可以抓包,具体方法请Google。需要保证两点:App走代理,证书被信任。

有些应用不走操作系统的 HTTP 代理,直接走 TCP 协议,无法使用 HTTP 代理抓包。虽然 Charles 支持 SOCKS 代理,但无法分析 TCP 包。这就需要祭出大杀器 tcpdump 和 Wireshark 。

说一下DNS抓包,。这个网上基本找不到资料,这也是大佬教我的,详细步骤在博客里,感兴趣自行翻阅。

还有一个比较出名的是mitmproxy,没怎么用过。

最后,苹果公司有做一个比较详细的抓包说明

https://developer.apple.com/library/archive/qa/qa1176/_index.html

如何逆向

逆向一直是一个很大的话题,而且还专门有逆向工程师这个职位,可见其中水之深。

对于爬虫,简单了解即可。这里需要三个逆向工具:

  1. Apktool:获取资源文件和smail代码
  2. dex2jar:将dex文件转换成jar文件
  3. JD-GUI:查看到反编译后的dex的代码

最后看到的是JAVA代码,所以能看懂JAVA是必要能力。

JD-GUI我用的比较多,简单演示下。

主要是使用搜索功能,搜索前需要先花很多时间反编译。

如果对Appnium感兴趣,可以看看 Appium环境搭建超详细教程

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与算法进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 评估分析
  • 如何抓包
  • 如何逆向
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档