-
Notifications
You must be signed in to change notification settings - Fork 6
草料二维码之活码原理分析 #103
Copy link
Copy link
Closed
Labels
BrowserAll about browsersAll about browsers
Description
分析过程
将一个 PDF 文件以活码的方式上传到草料网。
将手机和电脑连入同一个 WiFi,在手机上将电脑的 IP 设置为 HTTP 代理,并安装 Charles 的 SSL 证书,以便 Charles 监听手机上的 HTTP 流量。
接着在手机上扫描活码,会自动打开微信小程序,显示 PDF 的一些基本信息,点击“查看”按钮,会显示 PDF 文件的内容。然后点击左下角的“下载文档”,会进入一个操作流程提示页面。
在电脑浏览器中访问 2w.ma 这个网址,会显示一个二维码,每 30 秒这个二维码会自动更新。经过对其解码,可得对应的网址为 http://qr61.cn/o2eikt/q9aHSXi/_scan/d373425de74a479b。
然后在手机微信小程序中,点击按钮“扫码传输文件”,扫描电脑上的二维码,稍候片刻,就会看到电脑浏览器中的页面发生了变化,用户就可以下载 PDF 文件了。
查看 Charles 中的流量数据,发现是手机端向草料网的指定接口 POST 了特定数据,同时电脑端之前一个 pending 状态的 POST 请求也得到了响应。应该是手机端向后端接口 POST 特定数据之后,后端服务将其与电脑端网页 POST 请求进行交叉验证,如果验证通过,说明是这个手机扫描的这个电脑的网页,因此就向这个电脑的网页返回所要查看的文件的信息。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
BrowserAll about browsersAll about browsers