adb基本概述:
Android 调试桥 (adb) | Android Studio | Android Developers (google.cn)
adb下载:SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn)
解压之后配环境path:
cherles:
帮助 -> SSL 代理 -> 安装Charles证书
剩下步骤:(写得很细~图文并茂~)Charles抓包工具 + (夜神)安卓模拟器实现代理抓包,最详细教程_charles夜神模拟器抓包-CSDN博客 总结步骤:
- 下载完cherles后就下载其证书,再设置cherles代理
- 模拟器和cherles在同一局域网下(连同一个WiFi)
- 设置模拟器WiFi手动代理,然后再模拟器WiFi填入Charles代理的IP和端口IP、主机
3.1查看IP是什么?
3.2查看端口是什么?
3.3打开模拟器WiFi填入Charles代理的IP和端口:
具体步骤:打开模拟器 → 系统设置 → 选择 WLAN →(长按出弹框)选择修改网络 → 填写代理服务器信息 → 保存。
开启 Charles HTTPS 抓包
首先在模拟器里,安装 Charles 根证书。操作步骤如下:
1.通过浏览器访问 “chls.pro/ssl” ,下载 Charles 根证书。
或者 在浏览器输入http://charlesproxy.com/getssl地址,出现安装证书页面,点击安装
2.点击左上角的 "下载箭头" 图标,安装 Charles 根证书。某些手机需要更改证书后缀名称。
3.设置锁屏PIN码或密码才能使用凭证存储。
4.证书安装成功。
其次在 Charles 软件操作 SSL 代理设置。
配置步骤: Proxy → SSL Proxying Settings → Add 。
图示操作如下所示:
使用adb连接模拟器
在连接设备之前,先查看一下在运行的设备:adb devices
再连接模拟器:(夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,以此类推)
adb connect 127.0.0.1:62001
常用指令
安装apk:adb install d:\\qq.apk
获取模拟器所有包名:adb shell pm list packages
清理应用数据:adb shell pm clear packageName
...(更多看这个↓)
【新手指导】夜神安卓模拟器adb命令详解_夜神安卓模拟器新手帮助页 (yeshen.com)
Andorid 7.0以上 抓取 HTTPS 包
因为Android7.0之后新版本系统的安全限制导致,无法安装导入证书,无法正常抓包
(Android7.0 之后默认不信任用户添加到系统的CA证书)
怎么办?跟着下面做↓
1.下载 Charless 根证书:charles-ssl-proxying-certificate.pem
下载步骤: Help → SSL Proxying → Save Charles Root Certificate...
2.(这里需要你已经下载好了openssl)在cmd里面计算刚刚从Cherles上保存到你计算机的证书文件的hash值(下面的路径改成你自己的):
*.cer格式证书
openssl x509 -inform DER -subject_hash_old -in d:\xxx.cer
*.pem格式证书
openssl x509 -inform PEM -subject_hash_old -in d:\xxx.pem
计算后,将证书名字改成 哈希值.0
3.(先连接模拟器)然后将该文件导入/system/etc/security/cacerts/中即可
跟着图片的三条命令顺序走~~~(改成你自己的路径,证书hash名字)
adb root
adb remount
adb push d:\xxx.0 /system/etc/security/cacerts
4.检查是否上传成功?
adb shell
cd /etc/security/cacerts/
ls
你看我的就成功找到了,说明我上传成功!
使用MT文件管理器用adb push导入修改后的证书文件
尾声
参考文章:
charles使用教程,这一篇就足够了 - 捷后愚生 - 博客园 (cnblogs.com)
后端 - 工程师必备 APP 抓包技能 - 范家鹏(冬霜) - SegmentFault 思否