首页 > 其他分享 >Android 系统抓包喂饭教程

Android 系统抓包喂饭教程

时间:2023-09-03 10:04:22浏览次数:37  
标签:HttpCanary 证书 喂饭 黄鸟 adb Android root 抓包

前言

在编写爬虫前,我们都需要对目标应用进行抓包,然后分析一波后,才能进入到编写脚本的阶段

对于使用 iPhone 的小伙伴来说,日常抓包不要太容易。PC 端工具,比如:Charles、Fiddler 完全够打;「 Stream」是 iOS 端一款非常强大的网络抓包应用,界面简洁的同时功能非常强大

但对于使用 Android 高版本系统的小伙伴来说,抓包就没那么便利了!由于高版本系统提高了安全策略,要抓包必须将 CA 证书放置到系统证书目录下才能进行正常抓包,而用户安装的证书默认为用户证书,导致很多 App 没法进行正常抓包

本篇文章将以常见场景介绍 Android 高版本系统抓包的操作步骤

非root设备

Android 同样有一款强大的网络抓包工具,即:小黄鸟「 HttpCanary 」

具体的操作步骤如下:

2-1 导出 HttpCanary 根证书

安装小黄鸟 App 后,进入到设置页面,导出 HttpCanary 根证书

类型选择「 System Trusted(.0) 」

这样,HttpCanary 根证书保存到「 内部存储路径/HttpCanary/cert/...0 」目录下

2-2 安装 APKPure 和 VMOS Pro 应用

VMOS PRO 下载地址:https://apkpure.com/cn/vmos-pro/com.vmos.ggp

PS:由于 VMOS PRO 应用格式为 XAPK,这里推荐通过 APKPure 安装 XAPK 格式的应用

2-3 VMOS 导入 RE 应用、目标应用及 HttpCanary 根证书

打开 VMOS Pro 应用,导入 Root Explorer 应用、目标应用及 HttpCanary 根证书文件

这样,VMOS 中就包含了目标应用、RE 文件管理应用,并且 HttpCanary 根证书文件默认被保存到 「 VMOSfiletransferstatio/ 」下

2-4 导入证书到系统证书目录下

在 VMOS Pro 中,通过 RE 应用将 HttpCanary 根证书文件移动到系统证书目录下

系统证书目录:/system/etc/security/cacerts/

2-5 开始抓包

打开小黄鸟 App,在设置目标应用中设置为「 VMSO 」,然后在主界面开启抓包开关,最后在 VMOS 中操作目标应用

目标应用的网络请求都会展示在小黄鸟主界面列表中了

需要补充的是,小黄鸟 HttpCanary 应用中更推荐使用「 平行空间 」进行抓包,但是实际使用过程发现存在闪退及安装插件等问题,不太推荐使用

root设备

如果手机已经完成 Root,我们只需要将第三方证书移动(比如:小黄鸟、Charles 等)移动到系统证书目录即可

这里通过小黄鸟 App 及 Charles 进行讲解,Fiddler 类似

3-1 小黄鸟 App 抓包

操作步骤如下:

  • 手机解锁并 Root
  • 安装小黄鸟 HttpCanary 应用,并导出 HttpCanary 根证书,格式选择和上面一样
  • 通过数据线,拷贝 CA 证书到 PC 上
  • PC 端下载 adb 并配置环境变量
  • 通过下面一系列 adb 命令,将证书 PUSH 到系统证书目录下
  • 打开小黄鸟应用,设置目标应用
  • 在小黄鸟主界面点击抓包按钮,即可以对目标应用进行抓包了
# 授予adb root权限
adb root
# 禁用系统验证
adb disable-verity 
# 重启手机
adb reboot

# 授予adb root权限
adb root

# 在将文件 push 到 '/system' 文件夹之前,必须先输入命令 'adb remount'
adb remount

# 拷贝证书到/system/etc/security/cacerts/下面
# adb push 87bc3517.0 /system/etc/security/cacerts/

# 重启
adb reroot

# 查看是否包含导入的CA证书
adb root
adb shell
cd /system/etc/security/cacerts/
ls

3-2 Charles 抓包

操作步骤如下:

  • Charles 在帮助中下载证书(比如:CER 证书),通过数据线拷贝到手机上
  • 在文件管理中找到这个证书手动进行安装默认会安装到用户证书中安装目录:/data/misc/user/0/cacerts-added/
  • 使用下面 adb 命令开启手机 system 目录的读写权限
  • 安装 RE 文件管理应用并授予 Root 权限,将上面的证书从用户证书目录移动到系统证书目录下系统的证书目录:/system/etc/security/cacerts
  • 重启手机
  • 抓包测试查看 PC 端的 ip 地址,手机保持在同一局域网,然后设置为手动代理,最后抓包进行测试
# 以 root 权限执行
adb root
# 禁用系统验证
adb disable-verity
# 重启手机
adb reboot
# 以 root 权限运行
adb root
# 重新挂载
adb remount

最后

上面以手机是否 Root 简单阐述了高版本 Android 系统各种场景的抓包流程

除了上面的抓包方式,还有很多方案可以选择。对于 Root 设备我们可以安装 Magisk 面具,再配合 movecert 模块进行抓包;或者我们也可以通过 EdXposed 框架 + trustmealredy 模块进行抓包,实际工作中,我们可以根据需求自行选择适合自己的方式

标签:HttpCanary,证书,喂饭,黄鸟,adb,Android,root,抓包
From: https://blog.51cto.com/u_16190539/7337009

相关文章

  • 基于Android的红马国旅网上旅行社APP的设计与开发-计算机毕业设计源码+LW文档
    一、选题的目的和意义目的:基于Android的红马国旅网上旅行社APP是为了游客提供个性化的服务。用户注册登录APP后可根据自己的意向查询相关景点的攻略信息,还可将这些信息分享至微信、QQ、新浪微博等社交平台。合理规划自己的时间,出行前先做好攻略,查清楚景点的地理位置、营业时间、公......
  • 基于Android的组成原理在线课堂APP的设计与开发-计算机毕业设计源码+LW文档
    一、选题的目的和意义目的:基于Android的组成原理在线课堂APP是为了使教学管理工作系统化、规范化、自动化,从而达到提高课堂管理效率的目的。能够解决目前考勤管理效率、无法准确的统计出学生课程成绩等信息,而且系统开发价格便宜、后期维护成本极低。便于教师利用本系统更好的交流......
  • 排查国标GB28181视频监控平台EasyGBS无法播放且抓包返回ICMP的步骤
    GB28181视频平台EasyGBS是一个基于国标GB28181协议的视频云服务平台。它支持多路设备同时接入,并能将视频流以RTSP、RTMP、FLV、HLS、WebRTC等格式分发给多个平台和终端。该平台提供视频监控直播、云端录像、云存储、检索回放、智能告警以及语音对讲等功能。在视频能力方面,EasyGBS支......
  • 基于Android的校园共享单车租赁管理系统的设计与实现-计算机毕业设计源码+LW文档
    一、选题的目的和意义目的:校园共享单车租赁管理的设计与实现是以解决高校师生课余时间紧张的问题为目的的。在校内设置共享单车,大大减少了师生上课路途所用的时间,从而可以提高学生的学习效率。共享单车操作快捷、方便、经济,对于经济能力较低的大学生而言是一种绝佳的交通工具。相......
  • windows10,编译rust程序到so文件,供android调用,笔记
    1、用D:\myProgram\android_sdk\ndk\ndk-22.0.7026061\ndk-build.cmd编译,全路径,只写ndk-build,似乎不行2、在androidas里编译,提示soisnotaABI,其实是so放错地方了。应该放在src\main\jniLibs\arm64-v8a目录下(其他cpu类似),我就是缺少arm64-v8a目录,导致这个错误,新建arm64-v8......
  • Android资源文件基本使用方法
    stylestyle文件是为了抽取一些控件的属性的共同点,通过style预设一些值另外在项目中主要的作用也是为了属性的统一管理,方便后续的修改使用方法:在values中新建一个style.xml文件其中的代码如下<stylename="TestTextView"><itemname="android:layout_width">wrap_conten......
  • Android控件的学习
    ProgressBar不知道因为什么原因,progressshow之后,如果使用Thread.sleep之后,再dismiss不会弹出dialog 所以这个东西应该是在多线程中用的其中setMessage这个方法被废弃了,但是有很多其他的方法,可以设置view以及按钮等 ......
  • android面试题:谈谈对Java中多态的理解
     Java中的多态是面向对象编程的一个重要特征,它允许同一个类型的对象在不同的情况下表现出不同的行为。多态是Java语言中实现代码复用、提高代码可维护性和可扩展性的重要手段。 多态的实现基于两个核心概念:继承和方法重写。在Java中,子类可以继承父类的方法,并且可以重写(覆......
  • 10-1 以太网接口类型(Access,Trunk)抓包理解
    Access接口类型抓包理解Access的收发规则如下ACCESS接口常用来连接终用户PC,服务器,等终端设备的接口,ACCESS接口接受和发送的数据大都为没有VlanTag的Access接口接受到没有带VLANTag的数据帧加上VlanTagAccess接口如果收到带有VLANtag的数据帧,VlanTag与PVID相同则接受,不......
  • 备战金九银十秋招面试,Android面试高频题合集,赶快收藏起来
    前言现在面试可以说是我们最常挂在嘴边的一个话题了,面试题、面试宝典、面试手册......各种Android面试题一搜一大把,根本看不完,而且现在的面试资料也都还可以,然后就放进了收藏夹吃灰,真到面试的时候,又被面试官问得脚趾扣地。人都是不满足于现状的,现在15K的薪资,下一份就想拿40K,甚至想......