最近看到手Q的扫码支付,发现它可以通过手机浏览器,拉起手Q完成支付,因为之前解析过支付宝的扫码付到全场景,于是开始了以下的操作。
一、打开手Q扫码下单的连接,发现其发生了重定向跳转拉起了支付
二、查看重定向后的页面发起的请求,找到了拉起app的url
mqqapi://forward/url?url_prefix=ahr0chm6ly9texvulnrlbnbhes5jb20vbxfxl3bhes9xcmnvzguuahrtbd9fd3y9mtaynyzfymlkptixodmmdd02ntg4zdizmq==&version=1&src_type=web
看url_prefix的属性,感觉像是RSA等签名之类的。于是详细看了重定向后页面内发起的http请求,发现并没有后端请求返回签名。考虑到本地浏览器RSA签名是不存在的,考虑这个值为Base64编码
三、解码这串值,发现是重定向后url的Base64编码
得到结论,扫码下单以后,可以发起请求获取请求的 location,拿到地址以后,拼接上述url。然后自己包装H5支付或者App支付。
0