内容简介:我喜欢用普通的解决方法有很多,比如说用低版本的 Android 手机,或者干脆换个苹果手机。不过那些治标不治本的方法并不是本文关注的重点,本文我们主要聊聊如何通过 root 来解决问题,但是 root 本身是有风险的,所以下面有请重量级嘉宾网易 MuMu 使用起来很简单,不过你需要注意实际抓包的时候,你需要设置模拟器的网络连接走相应的代理,设置的方法是找到对应的网络连接「长按」即可:
我喜欢用 Mitmproxy 来处理手机 App 抓包之类的工作,本来用它来抓 Https 包是很容易的一件事,只要设置好代理,浏览 mitm.it 按提示安装证书即可,可是当 Android 版本升级到 7 以后,此方法就失效了,为什么呢?因为新版 Android 缺省情况下只信任系统级证书,而不再信任用户级证书,问题详细描述可以参考: 听说安卓微信 7.0 不能抓 https?
普通的解决方法有很多,比如说用低版本的 Android 手机,或者干脆换个苹果手机。不过那些治标不治本的方法并不是本文关注的重点,本文我们主要聊聊如何通过 root 来解决问题,但是 root 本身是有风险的,所以下面有请重量级嘉宾 网易 MuMu 闪亮登场!它是一个有 root 权限的全功能 Android 模拟器。
mumu
网易 MuMu 使用起来很简单,不过你需要注意实际抓包的时候,你需要设置模拟器的网络连接走相应的代理,设置的方法是找到对应的网络连接「长按」即可:
网络连接
因为我是用 Mitmproxy 来抓包的,所以要安装的也是 Mitmproxy 的证书。下面看看如何把 Mitmproxy 证书安装到网易 MuMu 里,记得安装相关工具,以 Mac 操作系统为例:
shell> brew install mitmproxy shell> brew install Caskroom/cask/android-platform-tools
安装好 工具 之后,别忘了启动网易 MuMu,然后通过 android-platform-tools 中的 adb 命令来连接它,只需要简单执行「adb shell」即可,如果遇到连不上的情况,可以参考 文档 。连接成功后,你可以在「/system/etc/security/cacerts/」目录看到现有的系统级证书:
证书
换句话说,我们只要把 Mitmproxy 证书安装到这里即可。不过这些证书的文件名都是啥意思,实际上他们就是证书文件的散列值,那 Mitmproxy 证书在哪?如何计算它的散列值?其实当我们安装好 Mitmproxy 的时候,相应的证书就已经保存在「~/.mitmproxy」目录里了,下面看看如何计算证书的散列值:
shell> openssl x509 \ -subject_hash_old \ -inform PEM \ -in ~/.mitmproxy/mitmproxy-ca-cert.pem | head -1 c8750f0d
接下来我们把 Mitmproxy 证书推送到模拟器系统证书所在目录:
shell> adb push \ ~/.mitmproxy/mitmproxy-ca-cert.pem \ /system/etc/security/cacerts/c8750f0d.0
最后在模拟器「设置 / 安全 / 信任的凭据 / 系统」里就能看到 Mitmproxy 证书了:
系统证书
通过 root 安装系统证书可以解决大部分 Https 抓包问题,为什么是大部分?还有哪些特殊情况不能处理?答案是「 SSL Pinning 」,它是为了应对中间人攻击而出现的一种技术,简单点说,就是证书被打包到 App 里,每次请求都会验证证书一致性。如此一来,虽然我们可以安装系统级证书,但是当 App 验证证书一致性的时候就失败了,如何突破此限制呢?答案很简单,你不是要验证一致性么,我统统返回 OK 不就行了!
为了达到 hack 的目的,我们需要安装 Xposed 和 JustTrustMe ,其中 Xposed 是一个 hack 框架,JustTrustMe 是一个插件。 安装 过程并不复杂,唯一需要说明的是,在安装 Xposed 之前,最好在网易 MuMu 中关闭兼容模式,路径「设置 / 应用兼容性 / 兼容模式」。
Xposed
JustTrustMe
如果你认认真真从头看到尾,那么恭喜你,关于手机 App 的 Https 抓包,你已经是专家了,最后你摸着自己的良心扪心自问一下:是不是应该给作者一个大大的红包!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 手机屏幕尺寸测试――手机的实际显示页面的宽度
- 区块链时代的手机黑手:木马肆虐,电脑、手机秒变矿机!
- 开源手机WiPhone即将众筹,你甚至还能用手机“开车”
- 旧手机的新玩法:postmarketOS 已适配上百款安卓手机
- 手机抓包
- 用手机实现射频开关
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。