背景:成都用上天府通扫码之后确实太方便了,不用充值,不用忘记带卡。但天府通作为一个工具 APP,我每次只会使用打开扫码上车功能,只为了少点一次扫码,所以考虑用上捷径方法。(这个思路应该是首发,目前没看到网上有现成的方案;但是实现不难,相信也有小伙伴在俏俏使用。在此请将来用上的小伙伴,低调使用,勿要拼单,以避免方法失效。如果是官方看到,希望能顺手丢一个 URL Schemes 出来。)
效果:秒开二码,不用打开天府通 APP 。
实现思路:用的天府市民云里的接口,直接从接口进,获取键值,再生成二维码,预览。
Q:为什么不使用 URL Schemes 方法?
A:首先是没找到;其次是这个方法会唤醒 APP,跳来跳去不喜欢,唤醒后还要加载数据,还有强制亮屏的瞬间,感觉不爱。
Q:为什么不用天府通 APP 的接口?
A:早期版本可以实现,当时也做过,只是手贱误删了。更新后的版本抓包,就是一团乱麻,没有找到可用方法。如果有仁兄有方法,可以一起交流。
Q:有效期多久?
A:早期用抓的天府通 APP 里的方法每个 COOKIE 有效期大概 20+天的样子,现在这个方法不知道还能持续多久,后续测试好后更新此答案。
Q:为什么不把文件直接公布?
A:不是扫盲帖,会使用捷径的同学一看这个帖子就会明白,不会用的估计对这个问题也不感兴趣。
![]() | 1 dullwit 2020-05-29 09:26:51 +08:00 我换了 7 芯卡,直接刷手机 |
![]() | 3 glaucus 2020-05-29 09:32:38 +08:00 ![]() 云闪付有办法吗,哭了每次都要点两下 |
![]() | 4 zclHIT 2020-05-29 09:33:36 +08:00 会有人出个扫盲贴嘛? |
![]() | 5 create2308 2020-05-29 09:57:06 +08:00 via iPhone 地府通迟迟不接入 Apple Pay 用一次吐槽一次,但还是不得不用。 现在已经不想使用实体卡了 |
![]() | 6 ydeveloper OP @glaucus 哈哈,云闪付正在尝试。估计有点困难。毕竟这货要便宜些。 |
![]() | 7 strong>zclHIT 2020-05-29 10:01:07 +08:00 刚看到是要从市民云的入口开始抓嘛?我只抓到了一堆 static 的文件。。。。 |
8 vtoexwj 2020-05-29 10:53:19 +08:00 @ydeveloper 云闪付多少折啊 |
9 kookio 2020-05-29 11:05:24 +08:00 那啥 apple pay 的京津冀互联交通卡,不支持四川成都吗?长沙都可以啊,只是没折扣,ios13.5 |
![]() | 10 ydeveloper OP @create2308 当然接入 Apple Pay 是最好的解决方案。从北京的情况来看,仍然只能用银行卡绑定,想支付宝收能量还是有点不能两全。 |
![]() | 11 create2308 2020-05-29 11:47:19 +08:00 via iPhone @create2308 更正:地铁还未接入,公交已接入。 |
![]() | 12 ydeveloper OP @glaucus 云闪付还在尝试,毕竟这货要便宜些嘛。出新了再本贴更新。 |
![]() | 13 ydeveloper OP @zclHIT tfsmy.chengdu.gov.cn ,看这个域名下的请求,加油兄弟。 |
![]() | 14 xratzh 2020-05-29 12:02:00 +08:00 CQ 一直都在用微信和支付宝小程序直接扫。方便快捷 |
![]() | 15 580a388da131 2020-05-29 13:06:34 +08:00 via iPhone 我在地府还是老是刷卡吧,幺蛾子太多了。 |
![]() | 16 580a388da131 2020-05-29 13:12:08 +08:00 via iPhone 话说你们看着微信支付宝详细到秒的乘车记录不慎得慌吗? |
![]() | 17 ydeveloper OP @580a388da131 我的观点是,只要活在世上,就一定会有痕迹。出个门都有天眼。技术给我们带来便利性的同时,牺牲一些个人隐私作为用户画象还是有必要的。有了这些约束,会更好约束自己的行为。再则说,自己也不过是苍海一米,谁会来查自己呢。进一步说,这个时代,谁要是真来查你,什么资料查不出来呢。你说是吧。 |
![]() | 18 Unclev21x 2020-05-29 14:56:21 +08:00 |
![]() | 19 ranleng 2020-05-29 15:40:50 +08:00 @create2308 看到这个我就想吐槽. 公交不应该包括地铁么.. 上次开通个微信乘车卡, 结果没法坐地铁.. 问了下才知道 公交 = 公交车, |
20 MaxLi77 2020-05-29 15:42:28 +08:00 { "data": { "encPrik": "sg*****A8", "offlineQrData": { "validTime": "003C", "version": "01" }, "qrCertNos": ["7"], "qrcodeData": { "expiresIn": 60, "qrcode": "AS******Kr" } }, "message": "获取乘车二维码成功", "status": 0 } Android 上抓包看了下,Response 大概是这样,那个 qrcode 和二维码扫的结果是一样的,不过还没摸清楚发包规则 |
22 icharon 2020-05-29 15:50:48 +08:00 等大佬出一个扫盲贴 |
![]() | 23 Norie 2020-05-29 18:00:48 +08:00 via iPhone NFC 路过 |
![]() | 24 ydeveloper OP @MaxLi77 能否告知一下在安卓抓是用的什么方法?我用花瓶试了,结果值都是乱码。。 |
![]() | 25 zclHIT 2020-05-31 16:32:29 +08:00 谢谢大佬,我好像知道怎么用了,但是请求拿到的 /scan-code-rh/api/front/code 其实是一组 code 码,需要什么思路去转换成二维码么。。。 |
![]() | 26 ydeveloper OP @zclHIT 对的,直接用捷径转成二维码,预览它就好啦。恭喜成功思密达。 |
27 MaxLi77 2020-05-31 21:45:53 +08:00 @ydeveloper 乱码估计是没有绕过 ssl 证书校验 吧,就算解出明文,他也是加密的,每次请求随机生成 AES key,加密数据,再用 RSA 生成签名,需要把安装包逆向了 |
![]() | 28 zclHIT 2020-06-01 10:39:11 +08:00 @ydeveloper 谢谢大佬的指导 :) |
![]() | 29 ydeveloper OP |
30 MaxLi77 2020-06-01 14:20:56 +08:00 @ydeveloper 我只知道 Android 版怎么弄,他这个 Android 版是加壳了,需要先脱壳,脱壳后用 jeb 反编译软件去找它 http 请求的加解密算法,找到之后用 xposed 或者 frida 框架 Hook 它的加解密算法,就能直接拿到明文。iOS 版的估计也差不多,先砸壳,然后找加解密算法,写个 tweak 插件 hook 上就行了。手机要 root 和越狱的才能测试。 |
![]() | 31 zyu0090 2020-11-02 21:56:53 +08:00 via iPhone |
![]() | 35 QingStone 2020-11-14 23:37:04 +08:00 有大佬研究出来了吗? |
![]() | 36 ydeveloper OP 此方法持续有效,cookie 有效期 3 个月+ |
![]() | 37 zyu0090 2021-01-13 21:26:47 +08:00 @ydeveloper #36 什么方法? |
38 caoyulotus 2021-04-12 16:30:33 +08:00 @ydeveloper 多谢大佬,看了你的帖子,折腾了两个小时,成功显示出了二维码,等哈下班了去试试看能成功刷上不 |
39 wangmu0579 2023-10-16 09:05:52 +08:00 via Android Android 的也实现了 用的天府市民云的 https post 接口,cookie 不知道能用多久。需要抓取 https 并且解码。 应该可以用 post 做成 Android 程序只显示二维码。 我是用 termux 运行一个简单 http Python 服务器,get 方法再调用 post tfsmy 。再将结果直接返回二维码图片显示在浏览器中。Chrome 浏览器做快捷方式。 |
40 wangmu0579 2023-10-18 18:13:38 +08:00 via Android 把二维码显示占满整个屏幕,妈妈再也不用担心刷卡的时候半天刷不出来的那种尴尬了。 |
![]() | 42 curtinp 196 天前 扫盲帖 0 帧起手 : https://v2ex.com/t/1122249 |