持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情 昨天下好了fiddler和夜神模拟器,今上午躺平了半天打了半天lol,下午继续.
配置fiddler.
按照之前的思路想要抓包小程序要先配置fiddler
toos-> Options->https
勾选这些选项.
将证书导入桌面.
设置代理.
点击ok,保存设置,重启Fiddler配置生效。
配置模拟器
进入模拟器的设置.找到WiFi 长按当前链接的WiFi 出现修改网络,点击后点击高级设置.
如图所示,将代理设置为手动,然后在电脑cmd里输入ipconfig,查询本机ip,将ip填入里边.端口号设置为8888.
给模拟器安装https证书.
点击此处下载安装openssl 进入页面后下滑到如图处,下载轻量级的exe文件.
安装后在cmd里输入下列代码尝试出现下面信息就是安装成功了.
其中报错信息:
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
百度了一波后发现有两种说法,一个是说 是配置文件的原因,改一下配置就好了,另一个说法是因为权限不足,以管理员权限打开cmd就好.
第二种方法试了 没什么用,但发现这个报错不影响使用,所幸就不处理了.
紧接着输入一下代码:
openssl x509 -inform DER -in C:\Users\laochenpi\Desktop\FiddlerRoot.cer -out C:\Users\laochenpi\Desktop\FiddlerRoot.pem
将之前生成在桌面的证书转化为pem证书.
接着用md5方式显示pem证书的hash值, 在cmd输入如下命令:
openssl x509 -inform PEM -subject_hash_old -in C:\Users\laochenpi\Desktop\FiddlerRoot.pem
从上面可以看到,咱们生成Fiddler证书的hash值是
e5c3944b
然后将pem证书重命名,使用上面显示的值e5c3944b对pem证书进行重命名,以下命令仅适用于window,linux请用mv
ren C:\Users\laochenpi\Desktop\FiddlerRoot.pem e5c3944b.0
接下来
安装证书到系统目录:
在模拟器中ctrl+4快捷键打开文件助手,点击"打开电脑文件夹".
将转换好的Fiddler证书e5c3944b.0复制到ImageShare目录下
之后
下载MT管理器,将下载的安装包拖拉到模拟器中安装完成,点击打开应用,左边打开Pictures目录就可以看到刚才电脑ImageShare目录的Fiddler证书e5c3944b.0
右边点击进入到system/etc/security/cacerts目录,然后长按左边的e5c3944b.0文件,点击复制即可复制到右边打开的目录那里.
注意:在刚进入mt管理器的时候 系统会向你索要root权限,我点击的是永久接受.授权后直接进行复制操作会提示 该文件是只读文件,这是只需退出mt管理器重新进入,重新复制即可.
因为文件没有读的权限,所以在终端设置.
点击右上角省略号后点击打开终端.
输入以下命令将
e5c3944b.0文件设置为可读即可
chmod 777 e5c3944b.0
亦或者长按e5c3944b.0文件,然后点击属性接着点击更改,文件权限.
将所有的权限都勾选.
接着在模拟器桌面,点击模拟器的
设置 -> 安全性 -> 信任的凭据 -> 系统,就能看到证书了.
由于在android 7.0+系统的设备中之所以没法被抓包,是因为android 7.0之后的应用是默认只信任系统证书,不信任用户证书,所以将Fiddler证书装到系统证书目录下,伪装成系统证书,那么就不存在因为fiddler证书不被信任而无法抓包的问题了.
在上网所搜资料的时候发现还有一种更简单的安装证书的方法,如果不是android 7.0 +系统的话可以使用这种方式.
打开模拟器中的浏览器,访问 http://ip地址:代理端口号/(例如:http://192.168.12.120:8888/),点击FiddlerRootC下载证书。
,下载完成后,点击下载箭头(或者长按)。给安装的证书命名(name无要求)
在模拟器里下载微信后登录微信小程序,在抓包软件观察是否成功抓包
老实说到这一步的时候内心挺激动的,从什么都不会到 搜集资料 自己动手尝试 一步步成功抓包,也废了不少时间.接着就是查看抓到的包的信息 然后就该尝试python模拟发送了.