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

求助:有没有人抓包过掌上电力这个 APP?

  •  
  •   EricInBj · 2019-04-18 14:45:53 +08:00 · 5702 次点击
    这是一个创建于 2046 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想着获取自家每天电表余额情况,记录每日电费的。 主要有两处可以下手:

    1. 95588 的网站,搜到一哥们写过脚本可以抓取。得手动输验证码,最大的问题是网站似乎不太稳定,今天一上午都无法查询余额信息。
    2. 掌上电力 这个官方 APP 里也有余额数据。

    不过尝试了一下,不管 Android 还是 iOS 端,都无法抓取到 API 请求包(Fiddler),Android App 应该是使用了爱加密做了加固。猜测使用了 SSL PINNING,还有类似给 httpclient 设置代理的方式来绕过 WIFI 上设置的代理。

    可能是由于加固过,使用 xposed 上的 trustmealready 也无法绕过 ssl pinning,per app hacking 也无法强制应用代理设置。

    有没有高手有什么别的建议啊?

    36 条回复    2020-10-26 09:19:17 +08:00
    hongch
        1
    hongch  
       2019-04-18 14:51:00 +08:00
    抓 TCP 的包
    EricInBj
        2
    EricInBj  
    OP
       2019-04-18 14:53:20 +08:00
    @hongch 肯定是 https 的,抓 TCP 的话,没啥用吧?
    ihciah
        3
    ihciah  
       2019-04-18 14:59:31 +08:00
    拆加固咯
    yingfengi
        4
    yingfengi  
       2019-04-18 15:01:14 +08:00 via Android
    支付宝里面也看,好像微信公众号我可以。
    EricInBj
        5
    EricInBj  
    OP
       2019-04-18 15:02:25 +08:00
    @ihciah 简单尝试了一下 zjDroid,无果。。。有啥建议没啊。。
    EricInBj
        6
    EricInBj  
    OP
       2019-04-18 15:03:07 +08:00
    @yingfengi 对啊,这俩渠道我也看看去。。多谢
    EricInBj
        7
    EricInBj  
    OP
       2019-04-18 15:08:06 +08:00
    @yingfengi 微信公众号里,户号绑定,没了反应。。。 支付宝里,是怎么个查看法呀?没搜到官方的查询入口呢
    deepdark
        8
    deepdark  
       2019-04-18 15:09:43 +08:00 via Android
    tcpdump 啊,你手机 root 了抓包不是什么难事,实在不行你就找个笔记本拿 wireshark 抓
    yingfengi
        9
    yingfengi  
       2019-04-18 15:40:05 +08:00 via Android
    @EricInBj 生活缴费里面电费那边绑定户号,然后会关注一个公众号(支付宝上是叫公众号吗?反正就是一个类似的东西)然后就可以查了。
    EricInBj
        10
    EricInBj  
    OP
       2019-04-18 15:54:03 +08:00
    @yingfengi 是这个里面说的这种么? https://jingyan.baidu.com/article/e2284b2b9272dce2e7118d69.html

    我看了,并没有余额信息,不知道是因为地区不同还是支付宝功能有变化了。
    nanaw
        11
    nanaw  
       2019-04-18 15:54:51 +08:00 via Android
    你怎么抓的 HTTPS 包,我抓 Google 的时候怎么配都弄不好证书
    EricInBj
        12
    EricInBj  
    OP
       2019-04-18 16:02:46 +08:00
    @nanaw 装 Fiddler 的证书, 在手机上访问 http://fiddler_pc_ip:proxyport 页面上有证书下载连接的。
    boom7
        13
    boom7  
       2019-04-18 16:03:54 +08:00
    试下 fdex2,刚试了下顺利脱壳
    EricInBj
        14
    EricInBj  
    OP
       2019-04-18 16:14:03 +08:00
    @boom7 是脱的掌上电力么? 我试试,谢谢!
    yukiww233
        15
    yukiww233  
       2019-04-18 16:15:03 +08:00
    放在谷歌空间或者太极等虚拟空间里跑,抓上级 app 的包
    nanaw
        16
    nanaw  
       2019-04-18 16:16:14 +08:00 via Android
    @EricInBj 应用不信任。装了之后一般应用断网,chrome 开网页提示证书错误。
    用网上的方法装成系统证书之后也不行。应用就是不信任
    EricInBj
        17
    EricInBj  
    OP
       2019-04-18 16:26:02 +08:00
    @boom7 确实,搞出来几个 DEX,dex2jar 后能看到部分代码了,先研究一下看看。 多谢兄弟
    EricInBj
        18
    EricInBj  
    OP
       2019-04-18 16:26:28 +08:00
    @nanaw chrome 都不行的话,说明证书安装有问题的。
    Chalice
        19
    Chalice  
       2019-04-18 16:40:50 +08:00
    @yukiww233 #15 抓不到 HTTPS 的包吧?
    yukiww233
        20
    yukiww233  
       2019-04-18 16:42:39 +08:00
    @Chalice #19 对检测代理之类的有效,但是内置了证书也没办法
    nanaw
        21
    nanaw  
       2019-04-18 17:58:40 +08:00 via Android
    @EricInBj 所以我才问怎么装的。直接打开 cer 文件安装为用户证书不行,用 OpenSSL 转换成 xxxxxx.0 文件拷到系统证书目录也不行
    seeusoon
        22
    seeusoon  
       2019-04-18 18:03:16 +08:00
    对 app 的抓包,万一人家走的是单纯的 tcp 而不是 https/http,fiddle 是根本看不到的
    ARhen
        23
    ARhen  
       2019-04-18 18:13:41 +08:00
    @nanaw 装到手机上吗? 我手机需要下载完证书,然后在 wifi 设置里面,添加证书,然后选择刚打开的那个。
    如果直接从下载点安装,是没反应的
    lululau
        24
    lululau  
       2019-04-18 18:30:33 +08:00
    试了一下 mitmproxy 透明代理模式可以
    dosmlp
        25
    dosmlp  
       2019-04-18 18:49:05 +08:00
    Fiddler 只能抓 http(s)协议,抓不了 tcp 协议吧
    rocketman13
        26
    rocketman13  
       2019-04-18 19:57:53 +08:00
    @EricInBj fdex2 脱壳打不开 app,是版本问题吗
    alvin666
        27
    alvin666  
       2019-04-18 20:07:09 +08:00 via Android
    低版本安卓没 ssl pinning,直接抓
    linhua
        28
    linhua  
       2019-04-18 20:22:53 +08:00
    有的 不是用的 http/https 协议, 而是用的 SPDY 之类的协议。像以前看 twitter 的 smali 代码,就是优先走 SPDY 协议,不可用时,才走 http/https 协议
    unclemcz
        29
    unclemcz  
       2019-04-19 09:50:18 +08:00
    xposed + justtrustme 对付 SSL PINNING 应该不成问题。
    unclemcz
        30
    unclemcz  
       2019-04-19 09:51:47 +08:00
    还有和 android 版本号也有关系,抓包来说 4 以上 7 以下比较完美。
    EricInBj
        31
    EricInBj  
    OP
       2019-04-19 13:17:40 +08:00
    @seeusoon 看到了他代码,用的是 httpclient,不过用的 EasySSLProtocolSocketFactory,不知道抓不到包跟这有没有关系?

    @nanaw 我就是在手机上浏览器访问代理地址,然后点连接下载安装就没问题的啊。苹果手机好像是要额外信任还是怎么着的。PC 的话,直接双击 CER,安装时选择安装到受信任的根证书颁发机构。


    @lululau 是吗?我看一下。


    @unclemcz justtrustme 不行。加固过的应用不行,我改代码把 classLoader 换成壳子的还是不行。。。
    EricInBj
        32
    EricInBj  
    OP
       2019-04-19 13:47:06 +08:00
    @lululau windows 下用透明模式似乎报错啊 Transparent mode failure: AttributeError("'Resolver' object has no attribute 'wfile'",)

    我 MAC 上装个试试
    nonprocoder
        33
    nonprocoder  
       2019-04-19 16:49:13 +08:00
    这 APP 抓包干嘛
    EricInBj
        34
    EricInBj  
    OP
       2019-04-20 12:59:07 +08:00
    @lululau 我试了没成功啊,使用了透明代理模式,浏览器里的请求可以抓到,但这 APP 还是不行呀?

    @nonprocoder 想自动获取每天电费余额。
    hilon
        35
    hilon  
       2020-10-24 14:52:33 +08:00
    楼主解决了吗
    EricInBj
        36
    EricInBj  
    OP
       2020-10-26 09:19:17 +08:00
    @hilon
    早放弃了,APP 没搞定,WEB 站点他们用了加密,破解太费劲。
    我现在在入户电线上套了个互感线圈接 PZEM-004T,等于是个智能电表的意思,实时统计用电情况(每日电量、实时电流、功率之类的)
    数据 MQTT 扔到 homeassistant,不要太爽。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:05 · PVG 11:05 · LAX 19:05 · JFK 22:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.