背景:成都用上天府通扫码之后确实太方便了,不用充值,不用忘记带卡。但天府通作为一个工具 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 1
云闪付有办法吗,哭了每次都要点两下
|
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
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
把二维码显示占满整个屏幕,妈妈再也不用担心刷卡的时候半天刷不出来的那种尴尬了。
|