模拟器安装完证书后仍出现安全证书有问题
将用户下的证书安装到系统内部
安卓高版本(7.0)之后呢,app可以只信任指定证书和系统内置的证书,后续用户安装的证书是不生效的, 只能想办法装到系统内部。
注:这里以
mitmproxy
对应证书为例,需要提前在模拟器内访问网址
mitm.it
,下载模拟器系统对应证书。下面演示如何将用户下的证书安装到系统内部。
一、首先从模拟器导出名字为
cer.crt
的https证书到windows端
拉取文件到本地:
adb pull 手机端cer.crt文件路径 windows端存放路径
此处对于夜神模拟器,可以直接打开共享文件夹(如下图),更加方便操作。
二、证书格式转换,需要借助openssl
先进入到
cer.crt
文件的本地存放路径,执行
openssl x509 -subject_hash_old -in cer.crt
将
cer.crt
文件,重命名为
hash结果里面的名称.0
(即c8750f0d.0) 为名的证书。
三、使用adb工具上传到系统
# 查看连接状态
adb devices -l
# 判断是否有root权限
adb root
# 将/system部分置于可写入模式
adb remount
# 安装证书(即把上面的证书文件复制到系统证书目录下面), 注意要先进入到文件所在路径
adb push c8750f0d.0 /system/etc/security/cacerts/
然后到模拟器目录
/system/etc/security/cacerts/
中,查看到证书文件存在即可。
windows安装openssl
1、下载:官网
2、选择: 这里选择Win64 OpenSSL v3.0.5的EXE安装包。
3、安装好之后配置环境变量
windows安装adb工具及使用
adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
- 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
- **守护程序 (adbd)**:用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
- 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
adb
包含在 Android SDK 平台工具软件包中。位于
android_sdk/platform-tools/
下,一般将其路径配置在环境变量下。
安装
下载解压后即可使用。
记得将bin目录加入环境变量。
常用命令
找到 Android 设备的 IP 地址:在设置 > 关于平板电脑(或关于手机)> 状态 > IP 地址下找到 IP 地址。
# 连接设备# 如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可
adb connect 设备ip(如:192.168.1.61)
# 断开设备
adb disconnect 设备ip(如:192.168.1.61)
# 查看当前连接的所有设备,连接到计算机的android设备或者模拟器将会列出显示# 如果按了回车后出现一段字母数字组合就说明设备连接成功
adb devices -l
# 查看当前连接设备的分辨率
adb shell wm size
# 推送文件到设备
adb push 电脑文件路径 手机目标路径
# 例: 从电脑推送a.txt文件到设备sd卡
adb push c:\a.txt /sdcard/
# 拉取文件到电脑
adb pull 手机文件路径 电脑目标路径
# 例: 从设备下载a.txt文件到电脑
adb pull /sdcard/a.txt c:\# 在手机端截屏
adb shell screencap /sdcard/a.png
# 获取设备的ID和序列号
adb get-serialno
# 判断是否有root权限
adb root
# 将/system部分置于可写入模式(用于编辑系统内容)
adb remount
补充
对于夜神模拟器来说,其自带adb工具(如果不是用夜神模拟器,也可以自己下载adb 工具,方法一样)
首先进入自己的夜神模拟器根目录(F:\夜神模拟器\Nox\bin),然后在cmd窗口下输入
nox_adb devices
,后续用法同上。
版权归原作者 华凰洛 所有, 如有侵权,请联系我们删除。