解决android模拟器抓包环境问题

纯填坑纪录

回想实习那会被安排测app,没用心,这下连个环境都折腾半天。23333.记录水文如下:
1、下载网易mumu模拟器并安装。
地址:http://a11.gdl.netease.com/nemu-2.0.23-1101153315.exe

2、将burp证书用openssl将DER转换为PEM,然后输出subject_hash_old值并重命名该文件:命令如下:

1
2
▶ openssl x509 -inform DER -in /Users/sunu11/Downloads/cacert.der  -out cacert.pem
▶ openssl x509 -inform PEM -subject_hash_old -in cacert.pem|head -1

3、下载adb http://adbshell.com/downloads ,连接模拟器,将证书传入系统证书文件夹下:

1
2
3
4
5
6
7
8
9
db root
adb remount //重新挂载为可写
adb push 9a5ba575.0 /sdcard/

adb connect 127.0.0.1:7555
adb shell
cat /sdcard/9a5ba575.0 > /system/etc/security/cacerts/9a5ba575.0 //此处由于网易mumu共享文件夹中文编码在cmd中显示存在问题,无法直接mv

chmod 644 /system/etc/security/cacerts/9a5ba575.0 //修改权限为644

图1
然后重启模拟器,在受信任的凭据处即可看到burp的证书已经添加至系统证书下:
图2

4、挂代理,抓包即可,基本上微信公众号,app、浏览器等数据包都可监听。
图3

5、最后留个坑
首先贴一下微信某些数据包无法抓取的原因:

1
2
3
4
小程序无法抓包:
安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表

安装的模拟器android版本为6.0.1,但是有由于目前模拟器无法运行小程序,所以小程序的数据包只能等我折腾好我的渣渣二手索尼手机再整了,不过小程序也是一个很值得深入摸索的攻击面噢

6、说到索尼手机就有气!之前为了测试,退了个二手索尼的手机,都root好了,环境也ok,啥都能搞,谁知道充电用力过猛,开不了机,捣鼓了一个通宵各种刷机root都没整好,无语 容我吐槽一下2333
另外有其他姿势:xpost+justTrustMe突破ssl限制,可参考文章:
https://www.jianshu.com/p/310d930dd62f

7、续集1:
时运不济,前几天模拟器登录微信测试发现被检测到模拟器下使用,因此微信号给封了23333,好在念在初犯,申请一次就过了,逼得我找对象要了个二手魅族手机,然后倒入burp证书(der后缀改成cer)安装后就与电脑在统一wifi下,设置好代理即可顺利抓包了。
该手机android版本为5.1,安装证书后。可以直接抓取公众号小程序数据包。

8、续集2:
看到网上有网友提出另一种抓包方式抓取微信PC端的流量,类似内网渗透中代理内网流量,在SocksCap64中设置代理服务器为burp的地址和端口,代理方式HTTP.然后设置微信走socksCap64代理。通过burpsuite抓包即可。

-------------本文结束感谢您的阅读-------------