app爬虫思路简介

前言

关于app爬虫,本人是第一次接触,通过查找各方资料,对本次app爬虫的过程做一个记录

通过fiddler尝试抓包

通过fiddler+夜神模拟器进行app数据抓包


对fiddler进行配置

  1. 下载fiddler
  2. 对fiddler进行配置,此处参考purplelavender的这篇博文fiddler配置及使用教程或查询官网文档进行配置

对夜神模拟器进行配置

  1. 打开设置,打开网络桥接模式(第一次打开需要先下载插件并重启),重启后进行配置,如下图所示
    image

  2. 打开夜神模拟器wifi设置
    image
    鼠标左键长按图中红框处
    image
    选择修改网络 -> 高级选项 -> 代理 -> 手动,添加fiddler设置的代理ip地址及端口号(ip地址可打开命令行执行ipconfig获取)
    image

开始数据抓包

  1. 将要抓取数据的apk文件安装到夜神模拟器
  2. 打开fiddler准备拦截http信息
  3. 打开安装好的app,按照要抓取数据的位置进行点选。到此处你会发现一个新的问题,app打开显示网络连接失败!!!!!

抓包数据显示无网络的问题

  1. 关于上述步骤出现的配置好fiddler+夜神模拟器,打开app无网络的问题,尝试打开浏览器会发现提示证书问题,此时在浏览器输入fiddler代理地址安装证书
  2. 再次打开浏览器,可正常访问;此时打开app后,再次显示无网络!!!!!
  3. 通过分析+查找网上资料,猜测是app证书验证不通过。。。。
  4. 此处感谢大神青年夏日科技的博文Fiddler利用Xposed框架+JustTrustMe抓取手机APP数据

解决问题

  1. 下载JustTrustMe
  2. 夜神模拟器安装Xposed,参考官网文档进行安装,安装之后导入下载好的JustTrustMe模块
  3. 以上步骤完成之后,重启模拟器,再次对app数据进行网络抓包
  4. 成功抓取到数据包
    image
  5. 到此可发现获取到的数据是加密的!!!包括post请求参数也是加密的

解决加密问题

  1. 分析fiddler抓到的数据包列表发现,查询数据只有传输数据的这一个网络请求,由此可知数据加解密操作是封装在apk文件中的,那么只能对apk文件进行逆向分析了
  2. 准备对apk进行逆向分析,关于app逆向的内容,可参考文章Android反编译:查看dex文件的源码
  3. 通过以上一系列骚操作之后,即可拿到apk文件的源码,接下来就是枯燥的源码分析了,此处需要一定的安卓基础,不在此展示代码分析过程

结果

通过上述骚操作,成功分析出数据加密方式以及秘钥,至此,app逆向分析结束,可通过fiddler获取到的数据包进行网络请求构造获取数据,在通过分析得到的加解密方式对获取到的响应信息进行解密,即可获取明文数据

感谢

本次分析过程,在此感谢三位不愿透露姓名的同事的大力支持,感谢大神purplelavender青年夏日科技CodeForCoffee的博文分享

posted @   w_poison  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示