app爬虫思路简介
前言
关于app爬虫,本人是第一次接触,通过查找各方资料,对本次app爬虫的过程做一个记录
通过fiddler尝试抓包
通过fiddler+夜神模拟器进行app数据抓包
对fiddler进行配置
- 下载fiddler
- 对fiddler进行配置,此处参考purplelavender的这篇博文fiddler配置及使用教程或查询官网文档进行配置
对夜神模拟器进行配置
-
打开设置,打开网络桥接模式(第一次打开需要先下载插件并重启),重启后进行配置,如下图所示
-
打开夜神模拟器wifi设置
鼠标左键长按图中红框处
选择修改网络 -> 高级选项 -> 代理 -> 手动,添加fiddler设置的代理ip地址及端口号(ip地址可打开命令行执行ipconfig获取)
开始数据抓包
- 将要抓取数据的apk文件安装到夜神模拟器
- 打开fiddler准备拦截http信息
- 打开安装好的app,按照要抓取数据的位置进行点选。到此处你会发现一个新的问题,app打开显示网络连接失败!!!!!
抓包数据显示无网络的问题
- 关于上述步骤出现的配置好fiddler+夜神模拟器,打开app无网络的问题,尝试打开浏览器会发现提示证书问题,此时在浏览器输入fiddler代理地址安装证书
- 再次打开浏览器,可正常访问;此时打开app后,再次显示无网络!!!!!
- 通过分析+查找网上资料,猜测是app证书验证不通过。。。。
- 此处感谢大神青年夏日科技的博文Fiddler利用Xposed框架+JustTrustMe抓取手机APP数据
解决问题
- 下载JustTrustMe
- 夜神模拟器安装Xposed,参考官网文档进行安装,安装之后导入下载好的JustTrustMe模块
- 以上步骤完成之后,重启模拟器,再次对app数据进行网络抓包
- 成功抓取到数据包
- 到此可发现获取到的数据是加密的!!!包括post请求参数也是加密的
解决加密问题
- 分析fiddler抓到的数据包列表发现,查询数据只有传输数据的这一个网络请求,由此可知数据加解密操作是封装在apk文件中的,那么只能对apk文件进行逆向分析了
- 准备对apk进行逆向分析,关于app逆向的内容,可参考文章Android反编译:查看dex文件的源码
- 通过以上一系列骚操作之后,即可拿到apk文件的源码,接下来就是枯燥的源码分析了,此处需要一定的安卓基础,不在此展示代码分析过程
结果
通过上述骚操作,成功分析出数据加密方式以及秘钥,至此,app逆向分析结束,可通过fiddler获取到的数据包进行网络请求构造获取数据,在通过分析得到的加解密方式对获取到的响应信息进行解密,即可获取明文数据
感谢
本次分析过程,在此感谢三位不愿透露姓名的同事的大力支持,感谢大神purplelavender、青年夏日科技、CodeForCoffee的博文分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!