V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
activeliangg
V2EX  ›  程序员

请教个安卓抓数据的问题

  •  
  •   activeliangg · 2023-07-02 15:53:52 +08:00 · 1659 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓手机金蝶云 APP ,我登录账号后,想让这个 APP 保活,然后我的目的是拿到它的 access_token ,以调用 api 拿订单数据,如下图:

    现在遇到 2 个问题:

    • 如何保活,比如定时滑动屏幕让它刷新数据,怎么实现 (目的让它自动维护更新 access_token)
    • 有什么好的方式拿这个 access_token ,我目前是通过抓包获取,但这需要电脑配合,有没有纯手机端的解决方式

    很久没有研究安卓了,懂的大佬赐教...

    10 条回复    2023-07-03 09:37:40 +08:00
    activeliangg
        1
    activeliangg  
    OP
       2023-07-02 16:07:53 +08:00
    账号密码登录后,经过 4 次加密数据验证后才下发 access_token ,所以我放弃了解密过程了,直接用安卓 app 上爬现成的 access_token 了
    locoz
        2
    locoz  
       2023-07-02 16:11:41 +08:00
    1 、可以用 ADB 的模拟触摸或者无障碍功能实现,也可以不通过滑动屏幕,而是直接 hook 后调用对应的刷新数据函数实现。
    2 、手机端一样可以跑个代理用来抓包,也可以同样 hook 实现取值。

    建议了解 xposed 或者 frida 之类的工具。
    owen800q
        3
    owen800q  
       2023-07-02 16:37:48 +08:00
    @locoz 金蝶云 APP 是用 flutter 写的,不好 hook
    rekulas
        4
    rekulas  
       2023-07-02 19:38:05 +08:00
    纯手机端的话可以逆向直接将 token 发送到 api
    不过不清楚 app 有没有做反逆向机制(例如签名校验之类),如果有可能会麻烦点 可以先试试
    FarmerChillax
        5
    FarmerChillax  
       2023-07-02 21:12:23 +08:00
    抓一下保活的 api ,估计就是双 token 方案(不是的话当我没说)。双 token 可能会加了点密,根据请求上下文猜一下哪个接口拿到的密钥,然后自己模拟一下这样。
    Tamamopoi
        6
    Tamamopoi  
       2023-07-02 21:36:12 +08:00
    如果 root 了,用小黄鸟安装系统级证书便可抓 https 包。
    google play 商店内我的安卓 13 不知道为啥闪退。只能用 52pojie 的开心版。


    安卓 10 以上读写 system 的方法:继续复制粘贴。
    [以下内容复制粘贴其他论坛帖子]

    偶然搜到一篇帖子,利用 magisk 模块修改 /system 内文件。实测可行。
    https://blog.csdn.net/qq_42923605/article/details/126870645

    我随便找了一个 magisk 模块,在模块目录下新建了 /system/etc/security/cacerts ,将系统证书复制进去,重启。
    重启后在手机的 /system/etc/security/cacerts 内成功出现了该系统证书。

    虽然小黄鸟还是提示我安装证书,不过实际也能抓到 https 包。

    按照这个思路,修改 hosts 什么的也都可以。
    Tamamopoi
        7
    Tamamopoi  
       2023-07-02 21:36:43 +08:00
    小黄鸟,原名 httpcanary
    FaiChou
        8
    FaiChou  
       2023-07-02 22:03:12 +08:00 via iPhone
    autojs
    alukongfu
        9
    alukongfu  
       2023-07-03 08:57:16 +08:00
    这种一般都会有 refresh token 的请求,抓这个请求分析以下就大概知道了
    blackhorse
        10
    blackhorse  
       2023-07-03 09:37:40 +08:00
    @alukongfu 正解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:31 · PVG 02:31 · LAX 10:31 · JFK 13:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.