苹果12怎么双开两个微信软件-[681]小米手机安装charles证书,提示“没有可安装的证书”
相信很多开发和测试人员在工作中都会用到抓包工具,我也习惯用抓包工具,所以这里主要讲一下证书的问题。
给手机设置好代理后,需要安装证书才能抓包,大部分手机直接在浏览器输入chls.pro/ssl就可以下载证书直接安装,但是小米是个例外,不能直接安装。
问题:
通过浏览器下载的crt文件提示证书无效,安装失败。
解决问题:
1、不要使用小米手机自带的浏览器下载crt文件。
现在下载第三方浏览器(例如:UC浏览器,edge 浏览器),然后下载crt文件。
2、安装证书:不要直接点击crt文件来安装。
正确的安装方法有两种:
第一:设置-WiFi-高级设置-安装证书
第二步:设置-更多设置-系统安全-加密和凭证-从存储设备安装证书
当然如果我们不想再使用了,可以点击 ,一键完成!
参考:
小米手机抓取数据无法传递怎么办?数据一直显示
当你发现这个问题的时候,不要着急去设置,也不要尝试各种方法安装证书,这些都是徒劳的,因为从7.0开始,系统默认不信任用户证书,所以即使你安装成功,这个证书对于APP来说也是无效的。
目前腾讯对微信权限管控较为严格,小程序无法在模拟器上使用的情况较为常见。
原因是微信调整了以下安全证书策略:
策略 版本 微信版本可代理
7-
任何版本
是的
7+
7-
是的
7+
7+
不
1.对于.0以下版本,无论使用哪个版本的微信,都会信任系统提供的证书。
2. 7.0以上版本,微信7.0以下版本苹果12怎么双开两个微信软件,微信会信任系统提供的证书
3.版本7.0以上,微信版本7.0以上,微信只信任其配置的证书列表
4.苹果手机无影响。
问题原因:
1. 在 .0 及以上版本的系统中,每个应用程序可以定义自己的一组可信 CA。
默认情况下,应用程序仅信任系统预安装的CA证书,不信任用户安装的CA证书。
回想一下抓包的流程,无论是 还是 ,如果想要抓包就必须在手机上安装对应的证书,而传/安装的证书恰好是用户自己安装的CA证书,所以会被认为是不安全的证书。
2、微信7.0版本之前,小程序没有验证设备的代理证书,所以只在设备上安装了代理证书,即使代理证书不是系统证书,也能捕获该请求。
小程序7.0版本之后增加了代理证书的验证,所有不受信任的证书都无法通过验证,所以就出现了上述问题。
问题解决:
第一个解决办法:将测试机回退到微信7.0以下的版本,比如v6.7.3、v6.6.5等。不过现在已经失效了,也不是长久之计。
第二种方案:在.0以上系统上进行root操作,获取管理员权限苹果12怎么双开两个微信软件-[681]小米手机安装charles证书,提示“没有可安装的证书”,然后把代理证书(如,)改成系统证书。(建议长期有效。为此我专门用我的小米8实战过。)
第三种方案:使用上面的苹果设备来抓包,因为IOS系统可以一键信任证书,方便快捷。
第四种解决方法:使用其他抓包工具。
第五种解决方法:修改APP配置文件。
第一种方案:无效就不说了,第二种方案:安装证书到系统证书里(需要root)
注:这里我使用小米8进行测试。
小米手机自带的root不完整,需要完整root(即解锁)。
尤其我的小米8是稳定版,解锁要半个月,所以就绑定了账号,过完年再回来。解锁之后刷机,刷开发版,然后再次解锁,就可以获得root权限了。获得权限之后还要下载那个狗屁MI--1.0.6.apk来解锁系统区,然后复制粘贴到证书目录//etc///里就可以了。
# 手机 root 方法参考各手机 root 教程,小米手机在 Windows 电脑下载[解锁工具](//www.miui.com/unlock/index.html),开启 fastboot 模式,手机端启用 root 权限(注意备份好手机上的数据到电脑)
# 以小米手机为例来开启 root 权限后设置 /system 目录为读写
# 以 root 权限执行
adb root
# 解决目录 read only 关键命令行
adb disable-verity
# 重启
adb reboot
# 以 root 权限运行
adb root
# 重新挂载
adb remount
# 设置读写
adb shell mount -o rw,remount /system
# 以下执行命令都是以证书文件在当前目录为前提
# 获取证书步骤
Help -> SSL Proxying -> Save Charles Root Certificate...
# 计算 Certificate_Hash 命令
openssl x509 -subject_hash_old -in
# 重命名 `` 为 ``
mv
# 安装命令
adb push .0 /system/etc/security/cacerts
# 开启步骤以小米新版本为例(如参考图倒数第二个即为我们安装的 Charles 系统证书)
设置 > 更多设置 > 系统安全 > 加密与凭据 > 信任的凭据[系统]
第三个方案:直接买个苹果手机就行了。第四个方案:使用其他抓包工具
是一款功能强大的终端抓包和注入工具,而且不需要root,软件本身支持安装证书,如果单独使用的话还是和其他APP一样的。
这里想介绍的另一个产品是一个开源的App虚拟化引擎,它允许你创建一个虚拟空间,并在这个虚拟空间中运行其他应用程序。
简单来说就是可以双开的容器,市面上有很多双开软件,原理都是一样的。
点击之后会双开,然后可以再次打开来转移包裹,比如点击微信小程序。哇,你发现了什么?
如果服务器不加密的话,总算是可以了,但是有点累;
最后两个app下载地址+:链接:提取码:z4dc
第五种解决方法:修改APP配置文件
直接修改APP的:g属性,前提是能拿到APP的源代码。
在 .xml 中
...
配置文件:res/xml/fig.xml
然后重新打包并捕获包裹;
除了修改源代码还有其他方法可以做到这一点吗?
肯定地,如下:
先解包,也可以直接下载wdj包,然后使用反编译看到包内容,修改.xml,同时添加--,修改后重新签名打包;
但大部分人都不懂得如何使用这个技巧苹果12怎么双开两个微信软件,而且每次都要修改,比较麻烦。。。
参考:
以下是一些似乎不适用的解决方案
关联:
文都管联院在预祝2021-2022一路长虹!