最近全国各地疫情反复,我们核酸检测的次数增多了,亮出健康码和核酸阴性截图的需求也不断增加。

众所周知,各种健康码和核酸检测结果实际上都是一个 web page 展示的。经过验证,绕过苏康码的鉴权实际上很简单,虽然他们这样做不安全,但也有一个好处,我们拿到这个 url 直接将 web page 发送到桌面(iOS 的 添加到主屏幕),之后就可以一键直达了。经过测试,比起之前通过 URL Scheme 设置的快捷指令更加快速。

详细过程

通过 Charles 经由 https 通道抓包,就能拿到 token。拿 苏康码 举例: 苏康码和核酸检测查询(省内)的 url 实际上是一个,都是 https://jsstm.jszwfw.gov.cn/jkmIndex.html?token=xxx 使用 Safari 打开链接(或其他浏览器,android 很久不用了应该大多数第三方浏览器都可以吧?),然后选择 添加到主屏幕 即可。

核酸检测也有一个唯一入口 URL: 形如 https://jshscx.jsehealth.com:8002/app/#/?secret=xxx,这个 secret 字符串长度 112, 只要不泄露安全性应该就没问题。将这个 URL 使用 Safari 打开然后添加到桌面,以后就可以一键直达核酸检测结果页面了。

苏康码添加到主屏幕

核酸检测 ios 主页

  • 左上角的苏康码是快捷指令,速度明显比 URL 直达要慢
  • 图中 苏康码 是 Safari 桌面快捷方式,一键直达苏康码页面,下同
  • 图中 核酸检测 一键直达核酸检测结果页面
  • 图中还有一个 通信大数据行程卡 就是行程码,一键直达

在此感谢 此先导帖

抓包的过程简单描述

  1. 开启抓包软件的 ssl 抓包功能
  2. 安装桌面端证书
  3. 手机端打开抓包软件开放的端口(比如 8888),手机访问 http://192.168.2.130:8888/ 然后下载证书,此处 192.168.2.130 是电脑 IP
  4. 在手机端安装证书➕️信任证书
  5. 开启抓包,手机端通过支付宝的健康码入口进入页面,然后通过过滤请求分析 http 请求找到 token 吧

补充

  • 其他省份的健康码逻辑可能有些不同,我只测试了 苏康码 是这样的
  • 抓包过程我描述的应该不太准确,现在也不记得当时的过程了
  • 最近需要截图核酸检测的需求有点多,这个小步骤能加快这个 flow,直接点击下方的 核酸检测查询(省内) 即可到达核酸检测结果页面

欢迎大家补充。