软件下载安装
所需软件
夜神模拟器
Fiddler
platform-tools
下载地址
安卓逆向
密码:hv99
配置Fiddler
由于fiddler只默认抓取HTTP的请求,若想抓取HTTPS的请求,则需要设置HTTPS的各项值
设置HTTPS各项值
1在fiddler菜单项选择Tools -> Options -> HTTPS
2勾选【Decrypt HTTPS traffic 】【Ignore server certificate errors】,下拉框默认:【from all processes】 即可
3第三步:点击右边的【Actions】,选择【Trust Root Certificate】点击,弹出窗点击【Yes】按钮即可。
4第四步:点击【OK】保存
设置fiddler connections的值,允许fiddler远程连接
1在fiddler菜单项选择Tools -> Options -> connections
2勾选【|Allow remote computers to connect】
3点击【ok】保存
(重点:记住设置完上述的值后,一定要重启Fiddler,不重启Fiddler 上述设置的值将不会生效)
(另:Fiddler 很多地方设置了值都需要重启,如果发现自己的设置的东西没有生效,先重启Fiddler再看是否已经生效)
夜神模拟器配置
创建模拟器
1打开模拟器助手--->多开管理--->添加模拟器--->选择Android 5(有的app只有Android 8以上才能安装,就创建对应的)
2点击设置图标--->性能--->分辨率设置--->手机版--->选一个尺寸--->保存设置
设置代理IP
1查询电脑IP地址:按住键盘Win+R键--->输入cmd--->确定--->输入 ipconfig--->查看IP
2设置模拟器代理:运行模拟器--->打开设置--->无线网络(WLAN)--->WLAN--->鼠标左键长按已连接的WiFi 去修改网络--->在高级选项里面--->选择【手动代理】--->服务器主机名为电脑IP--->服务器端口为:8888--->保存
手机安装证书
手机安装证书。(ios设置和Android设置基本一样)前提条件:手机和电脑要处于同一网络条件下(可以理解为:使用同一个WiFi)fiddler的默认端口是:8888,不需要进行修改,使用默认的就可以。一个手机可以安装多个证书,但是每安装的一个证书里面都设置有IP地址,所以:安装的证书和电脑IP是一一对应的,当前的这个证书只能针对某一台电脑使用,更换电脑后,该证书将不能使用,只能重新安装与更换的电脑的IP相同的证书才能使用。
手机下载证书
打开手机的浏览器,输入:【IP:8888】下载证书。(注:中间的冒号一定要使用英文的冒号,中文的冒号是错误的)例如:浏览器输入【http://192.168.xxx.xxx:8888】或者【192.168.xxx.xxx:8888】(这个地方的IP就是你电脑的IP)
安装证书
有的手机可以直接点击已下载的文件进行安装,有的手机则不行。如果不能直接安装证书,我们可以通过以下方法来安装证书。
1Android安装证书。
方法一:手机--->设置--->搜索【证书】二字--->选择:安装证书或者证书管理:点击安装证书,在你的众多文件里面去选择刚刚下载的fiddler的证书,点击安装
(注:选择安装的文件后,需要输入手机的锁屏密码。Android一定要有锁屏密码才能安装证书)
方法二:在浏览器里面,直接打开已经下载的文件,安装即可,安装步骤是:先输入手机锁屏密码--->后到上图为证书命名界面。证书安装好后,查看已信任证书:具体位置在【安全--->更多安全设置--->加密和凭据--->受信任的凭据】
2ios安装证书
直接点击已下载的文件安装即可,安装文件成功后,需要在【设置--->通用--->关于本机--->证书信任设置】开启证书信任。
夜神模拟器安卓7.0以上证书问题
platform-tools配置环境变量
1编辑环境变量:Win+R--->输入sysdm.cpl--->高级--->环境变量--->系统变量下的Path--->编辑--->新建--->将platform-tools路径填进去--->一直点确定退出
2检查环境是否配置成功:Win+R--->输入cmd--->输入adb--->输出如下成功
打开模拟器开发者选项
设置--->系统--->关于平板电脑--->连续点击版本号(提示打开开发者模式)--->返回--->高级--->开发者选项--->开启--->USB调试
将证书移动到系统
连接模拟器
cmd运行命令:adb connect 127.0.0.1:62001若还是提示无法连接到127.0.0.1:62001
运行命令tasklist找到NoxVMHandle.exe对应的PID
运行命令netstat -ano | findstr 12636(12636为NoxVMHandle.exe对应的PID)找到127.0.0.1:62xxx的地址,这里有:127.0.0.1:62025
运行命令adb connect 127.0.0.1:62025即可连接成功
证书处理
查看证书
首先我们看看,系统证书目录,系统证书的命名都是 哈希值.0 如果哈希值相同,想要保留证书,那就修改后面的 .0 即可
导出证书
Tool --> Options -->Actions-->Open Window ...-->受信任的根证书颁发机构-->证书-->DO_NOT_TRUST_FiddlerRoot-->右键 所有任务-->导出-->不要导出私钥-->Base64格式
Linux计算Hash值修改证书名
Linux 命令
Python复制代码
cd # 到证书目录中 注意 fiddlerRoot.cer 是我的证书名,根据实际情况修改
openssl x509 -subject_hash_old -in fiddlerRoot.cer # 拿到证书到md5值(8位)
此证书的md5值为 269953fb
移动证书
修改证书名为 269953fb.0 ,在使用adb命令推进手机的跟证书目录
移动证书
Python复制代码
# 开一个命令窗口一
adb shell # 进入shell模式
su root # root权限
mount -o romount,rw/system # 将系统证书目录改为可读可写,不改不可以移动文件
# 重新开一个命令窗口二
cd # 到证书目录中 269953fb.0 就是改后的证书
adb push 269953fb.0 /system/etc/security/cacerts/269953fb.0 # push到系统目录中
# 上面的如果不行,先push到临时目录中,再移到sys目录
adb push data/local/tmp/269953fb.0 # 将证书push到临时目录
# 回到命令窗口一
mv data/local/tmp/269953fb.0 /system/etc/security/cacerts # 从临时目录移动证书到系统目录
mount -o romount,ro/system #将系统证书目录改为只读
若有收获,就点个赞吧