学习目标:
(一)使用openssl工具获得系统证书哈希值
(1)openssl工具的下载与安装
(2)openssl工具获得哈希值
(二)ADB的安装
(三)使用ADB命令将文件推送至模拟器
(四)使用ADB命令设置代理
学习内容:
(一)使用openssl工具获得系统证书哈希值
(1)openssl工具的下载与安装
(a)openssl功能简介:https://www.jianshu.com/p/a16fd53dc19a
官网下载地址:https://slproweb.com/products/Win32OpenSSL.html
这里我下载的是第二个,适合软件开发的
(b)下载完成后解压至文件夹
(c)路径:我的电脑右键属性–高级系统设置–环境变量—path —编辑—新建—将openssl的安装路径填入,点击确定
(d)安装完成后,win+R 打开cmd 界面,查看是否安装成功,如下界面,表示安装成功
(2)openssl工具获得哈希值
(a)使用命令 openssl x509 -subject_hash_old -in xxx.ce
(b)获得哈希值后,将系统证书的名称修改成对应的哈希值
(二)ADB的安装
a)
ADB的简介:https://developer.android.com/studio/command-line/adb?hl=zh-cn
ADB的使用基础:https://my.oschina.net/u/4354084/blog/3822795
官网下载地址:https://developer.android.com/studio/releases/platform-tools
(b)下载完成后解压到D盘,一般我习惯安装到D盘
(c)配置环境变量,路径如下:我的电脑—右键属性—高级系统设置—环境变量—选中path,点击编辑—新建,将adb的存储路径填进去,保存确定
d)确定是否安装成功,win+R,打开cmd,输入adb version,得到如下结果,表示安装成功
(三)使用ADB命令将文件推送至模拟器
开启root权限,也可以使用其他具备root功能的模拟器
1.连接模拟器
(a)常见的模拟器端口号:
模拟器名称 端口号
逍遥游 21503
夜神模拟器 62001
海马玩模拟器 26944
天天模拟器 6555
雷电安卓模拟器 5555
安卓模拟器大师 54001
网易mumu模拟器 7555
BlueStacks 5555
天天安卓模拟器 5037
如果是查询多开的模拟器的端口号,方法如下:https://blog.youkuaiyun.com/lovedingd/article/details/108409634
(b)确认好端口号后,win+R打开CMD命令
输入:adb connect 127.0.0.1:62001
如下,表示已连接成功
(c)挂载system目录
输入如下:adb shell su -c’mount -o rw,remount /system’
(d)推送文件
将c8750f0d.0证书,推送到手机data文件夹下的local/tmp
我的c8750f0d.0证书是放在D盘CA文件夹下,所以我的命令是:adb push 原地址 目标地址
输入:adb push D:\CA\c8750f0d.0 /data/local/tmp
得到如下结果,表明已推送成功,你也可以打开模拟器文件管理器,查看data/local/tmp
文件夹下是否有c8750f0d.0证书
(e)将证书移动至系统证书目录
adb shell su -c ‘mv 源地址 目标地址’
输入:adb shell su -c’mv /data/local/tmp/c8750f0d.0 /system/etc/security/cacerts/’
如下打开模拟器system/etc/security/cacerts/文件夹下,可以找到我们传入的证书,表明传送成功
(f)给证书授权
给system/etc/security/cacerts/c8750f0d/0 证书授权
输入:adb shell su -c ‘chmod 644 /system/etc/security/cacerts/c8750f0d.0’
(g)打开模拟器,设置,安全,信任的凭据。可以找到我们按照的证书,到处安装证书成功结束
(四)使用ADB命令设置代理
(a)可以使用adb命令设置全局代理,也可以使用Drony工具进行流量转发
这里我使用的是adb命令设置代理
首先先查询我的ip地址
在CMD命令,输入ipconfig可得到
(b)接下是端口号,前面一篇文章提到如何查询端口号:https://blog.youkuaiyun.com/qq_26880147/article/details/127899600?spm=1001.2014.3001.5501
如图,我的端口号是8080
那么在CMD输入,设置全局代理命令
adb shell su -c’settings put global http_proxy 10.0.196.251:8080’
设置成功后,在获取一次,确认
adb shell su -c’settings get global http_proxy’
之后,我们打开模拟器的任意游戏,或者网页
mitmproxy都可以展示模拟器发出的请求,和接收的回复