V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ydeveloper
V2EX  ›  iOS

成都天府通 1 秒出码之 IOS 捷径实现

  •  
  •   ydeveloper · 2020-05-29 09:17:04 +08:00 · 6742 次点击
    这是一个创建于 554 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 背景:成都用上天府通扫码之后确实太方便了,不用充值,不用忘记带卡。但天府通作为一个工具 APP,我每次只会使用打开扫码上车功能,只为了少点一次扫码,所以考虑用上捷径方法。(这个思路应该是首发,目前没看到网上有现成的方案;但是实现不难,相信也有小伙伴在俏俏使用。在此请将来用上的小伙伴,低调使用,勿要拼单,以避免方法失效。如果是官方看到,希望能顺手丢一个 URL Schemes 出来。)

    • 效果:秒开二维码,不用打开天府通 APP 。

    • 实现思路:用的天府市民云里的接口,直接从接口进,获取键值,再生成二维码,预览。

    Q:为什么不使用 URL Schemes 方法?

    A:首先是没找到;其次是这个方法会唤醒 APP,跳来跳去不喜欢,唤醒后还要加载数据,还有强制亮屏的瞬间,感觉不爱。

    Q:为什么不用天府通 APP 的接口?

    A:早期版本可以实现,当时也做过,只是手贱误删了。更新后的版本抓包,就是一团乱麻,没有找到可用方法。如果有仁兄有方法,可以一起交流。

    Q:有效期多久?

    A:早期用抓的天府通 APP 里的方法每个 COOKIE 有效期大概 20+天的样子,现在这个方法不知道还能持续多久,后续测试好后更新此答案。

    Q:为什么不把文件直接公布?

    A:不是扫盲帖,会使用捷径的同学一看这个帖子就会明白,不会用的估计对这个问题也不感兴趣。

    anyway,欢迎讨论。

    38 条回复    2021-04-12 16:30:33 +08:00
    dullwit
        1
    dullwit  
       2020-05-29 09:26:51 +08:00
    我换了 7 芯卡,直接刷手机
    illl
        2
    illl  
       2020-05-29 09:28:41 +08:00 via iPhone
    @dullwit 天府通是个奇葩,你换啥都不能直接刷
    glaucus
        3
    glaucus  
       2020-05-29 09:32:38 +08:00   ❤️ 1
    云闪付有办法吗,哭了每次都要点两下
    zclHIT
        4
    zclHIT  
       2020-05-29 09:33:36 +08:00
    会有人出个扫盲贴嘛?
    create2308
        5
    create2308  
       2020-05-29 09:57:06 +08:00 via iPhone
    地府通迟迟不接入 Apple Pay
    用一次吐槽一次,但还是不得不用。
    现在已经不想使用实体卡了
    ydeveloper
        6
    ydeveloper  
    OP
       2020-05-29 09:57:20 +08:00
    @glaucus 哈哈,云闪付正在尝试。估计有点困难。毕竟这货要便宜些。
    zclHIT
        7
    zclHIT  
       2020-05-29 10:01:07 +08:00
    刚看到是要从市民云的入口开始抓嘛?我只抓到了一堆 static 的文件。。。。
    vtoexwj
        8
    vtoexwj  
       2020-05-29 10:53:19 +08:00
    @ydeveloper 云闪付多少折啊
    kookio
        9
    kookio  
       2020-05-29 11:05:24 +08:00
    那啥 apple pay 的京津冀互联交通卡,不支持四川成都吗?长沙都可以啊,只是没折扣,ios13.5
    ydeveloper
        10
    ydeveloper  
    OP
       2020-05-29 11:47:18 +08:00
    @create2308 当然接入 Apple Pay 是最好的解决方案。从北京的情况来看,仍然只能用银行卡绑定,想支付宝收能量还是有点不能两全。
    create2308
        11
    create2308  
       2020-05-29 11:47:19 +08:00 via iPhone
    @create2308 更正:地铁还未接入,公交已接入。
    ydeveloper
        12
    ydeveloper  
    OP
       2020-05-29 11:47:51 +08:00
    @glaucus 云闪付还在尝试,毕竟这货要便宜些嘛。出新了再本贴更新。
    ydeveloper
        13
    ydeveloper  
    OP
       2020-05-29 11:51:26 +08:00
    @zclHIT tfsmy.chengdu.gov.cn ,看这个域名下的请求,加油兄弟。
    xratzh
        14
    xratzh  
       2020-05-29 12:02:00 +08:00
    CQ 一直都在用微信和支付宝小程序直接扫。方便快捷
    580a388da131
        15
    580a388da131  
       2020-05-29 13:06:34 +08:00 via iPhone
    我在地府还是老是刷卡吧,幺蛾子太多了。🙃
    580a388da131
        16
    580a388da131  
       2020-05-29 13:12:08 +08:00 via iPhone
    话说你们看着微信支付宝详细到秒的乘车记录不慎得慌吗?
    ydeveloper
        17
    ydeveloper  
    OP
       2020-05-29 13:41:39 +08:00
    @580a388da131 我的观点是,只要活在世上,就一定会有痕迹。出个门都有天眼。技术给我们带来便利性的同时,牺牲一些个人隐私作为用户画象还是有必要的。有了这些约束,会更好约束自己的行为。再则说,自己也不过是苍海一米,谁会来查自己呢。进一步说,这个时代,谁要是真来查你,什么资料查不出来呢。你说是吧。
    Unclev21x
        18
    Unclev21x  
       2020-05-29 14:56:21 +08:00
    @illl
    @create2308

    去年去了一次成都,表示天府通的体验真是太差了。
    ranleng
        19
    ranleng  
       2020-05-29 15:40:50 +08:00
    @create2308 看到这个我就想吐槽. 公交不应该包括地铁么..
    上次开通个微信乘车卡, 结果没法坐地铁.. 问了下才知道 公交 = 公交车,
    MaxLi77
        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 和二维码扫的结果是一样的,不过还没摸清楚发包规则
    icharon
        21
    icharon  
       2020-05-29 15:46:55 +08:00
    @kookio 支持成都,但仅限于公交,地铁不支持
    icharon
        22
    icharon  
       2020-05-29 15:50:48 +08:00
    等大佬出一个扫盲贴
    Norie
        23
    Norie  
       2020-05-29 18:00:48 +08:00 via iPhone
    NFC 路过
    ydeveloper
        24
    ydeveloper  
    OP
       2020-05-29 20:56:19 +08:00 via iPhone
    @MaxLi77 能否告知一下在安卓抓是用的什么方法?我用花瓶试了,结果值都是乱码。。
    zclHIT
        25
    zclHIT  
       2020-05-31 16:32:29 +08:00
    谢谢大佬,我好像知道怎么用了,但是请求拿到的 /scan-code-rh/api/front/code 其实是一组 code 码,需要什么思路去转换成二维码么。。。
    ydeveloper
        26
    ydeveloper  
    OP
       2020-05-31 20:47:20 +08:00 via iPhone
    @zclHIT 对的,直接用捷径转成二维码,预览它就好啦。恭喜成功思密达。
    MaxLi77
        27
    MaxLi77  
       2020-05-31 21:45:53 +08:00
    @ydeveloper 乱码估计是没有绕过 ssl 证书校验 吧,就算解出明文,他也是加密的,每次请求随机生成 AES key,加密数据,再用 RSA 生成签名,需要把安装包逆向了
    zclHIT
        28
    zclHIT  
       2020-06-01 10:39:11 +08:00
    @ydeveloper 谢谢大佬的指导 :)
    ydeveloper
        29
    ydeveloper  
    OP
       2020-06-01 11:17:16 +08:00
    @zclHIT 我只是引个路,操作也比较容易。还是自己搞的成就感强是吧?
    @MaxLi77 能不能具体指导一下~你抓的内容很完美啦。
    MaxLi77
        30
    MaxLi77  
       2020-06-01 14:20:56 +08:00
    @ydeveloper 我只知道 Android 版怎么弄,他这个 Android 版是加壳了,需要先脱壳,脱壳后用 jeb 反编译软件去找它 http 请求的加解密算法,找到之后用 xposed 或者 frida 框架 Hook 它的加解密算法,就能直接拿到明文。iOS 版的估计也差不多,先砸壳,然后找加解密算法,写个 tweak 插件 hook 上就行了。手机要 root 和越狱的才能测试。
    zyu0090
        31
    zyu0090  
       2020-11-02 21:56:53 +08:00 via iPhone
    @glaucus
    @ydeveloper
    云闪付 upwallet://rn/rnshcarcode
    glaucus
        32
    glaucus  
       2020-11-03 09:02:16 +08:00
    @zyu0090 #31 谢谢,不过我又用回天府通了 hh
    zyu0090
        33
    zyu0090  
       2020-11-03 09:23:25 +08:00 via iPhone
    @glaucus 天府通有解了吗?
    glaucus
        34
    glaucus  
       2020-11-05 21:03:18 +08:00
    @zyu0090 #33 还没有,看 LS 成功的不少啊,有空研究一下
    QingStone
        35
    QingStone  
       2020-11-14 23:37:04 +08:00
    有大佬研究出来了吗?
    ydeveloper
        36
    ydeveloper  
    OP
       2020-11-24 12:48:21 +08:00
    此方法持续有效,cookie 有效期 3 个月+
    zyu0090
        37
    zyu0090  
       324 天前
    @ydeveloper #36 什么方法?
    caoyulotus
        38
    caoyulotus  
       236 天前
    @ydeveloper 多谢大佬,看了你的帖子,折腾了两个小时,成功显示出了二维码,等哈下班了去试试看能成功刷上不
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2206 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:21 · PVG 18:21 · LAX 02:21 · JFK 05:21
    ♥ Do have faith in what you're doing.