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

现在手机耗电很大原因是这些 app 的做法

  •  5
     
  •   ccccccc · 2015-09-06 11:48:20 +08:00 · 19873 次点击
    这是一个创建于 3395 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很早就发现 baidu 系的 web 页面都会访问 android 上的一些端口

    Failed to load resource:
    http://127.0.0.1:40310/getcuid?secret=0&mcmdf=inapp_baidu_bdgjs&callback=_box_jsonp506

    Failed to load resource:
    http://127.0.0.1:6259/getcuid?secret=0&mcmdf=inapp_baidu_bdgjs&callback=_box_jsonp507

    一开始想不通为什么, 后来才明白 baidu 的一些 app 之类的会在用户手机上开一些端口, 然后整个手机就像 web 服务器那样监听一些端口, 当用户访问 baidu 相关页面时候会访问这些端口, 然后返回一些信息, 像地理位置, 天气之类的, 非常准确. 当然还有可能是其他信息

    其实不单止 baidu 这样做, 其他的都一样, 包括 iOS 平台的也是这样

    如果你手机装了各家 app, 那么相当于你手机开了多个 web 服务器, 那么耗电当然很厉害

    第 1 条附言  ·  2015-09-06 15:07:06 +08:00
    防止这些耗电的方法:
    android 的话, 弄个 绿色守护 杀进程就可以
    iOS 就需要手动关掉这些 app
    第 2 条附言  ·  2015-09-07 09:55:08 +08:00
    在 iOS 上, 如果一个页面想知道某个 app 是否在运行, 其办法就是 web 页面通过访问这个 app 提供的端口判断是否运行着 app. 据我了解一些赚钱 app 就是这样做的. 所以 iOS 上 app 驻留后台一段时间是可以的
    73 条回复    2015-11-06 12:37:57 +08:00
    muzuiget
        1
    muzuiget  
       2015-09-06 12:51:12 +08:00   ❤️ 1
    卧槽,碉堡了,轻易穿过 HTML 沙盒。
    myhu
        2
    myhu  
       2015-09-06 12:51:19 +08:00 via Android
    原来如此!楼主有没有堵住这些东西的 app 吗?做出来应该很受欢迎
    dorentus
        3
    dorentus  
       2015-09-06 12:54:25 +08:00 via iPhone
    iOS 的你切到后台, web server 的监听就断了
    muzuiget
        4
    muzuiget  
       2015-09-06 12:55:04 +08:00
    想了一下,自己也可以「拿来」用,一下子获得以正常 HTML 方式获取不到的客户端隐私信息。
    ccccccc
        5
    ccccccc  
    OP
       2015-09-06 13:58:48 +08:00   ❤️ 1
    @dorentus 关于 iOS, 据我所了解, 是请求播放一段空音频, 然后就可以常驻后台
    airyland
        6
    airyland  
       2015-09-06 14:00:26 +08:00
    我之前发过相关的帖,不只是百度系的哦,是所有用到百度统计的页面都这样。
    xingso
        7
    xingso  
       2015-09-06 14:00:40 +08:00
    长姿势了。
    ccccccc
        8
    ccccccc  
    OP
       2015-09-06 14:12:06 +08:00
    @airyland 我意思是几乎所有 baidu 相关的都会这样, 包括搜索, 贴吧.. 当然也包括统计
    Strikeactor
        9
    Strikeactor  
       2015-09-06 14:18:19 +08:00
    怪不得装了一对国内软件之后,续航急剧下降了
    以前一天下来还能剩点,现在不带充电宝都不敢出门
    DearMark
        10
    DearMark  
       2015-09-06 14:31:16 +08:00   ❤️ 1
    “关于 iOS, 据我所了解, 是请求播放一段空音频, 然后就可以常驻后台”

    看来苹果也被他玩弄于鼓掌之间,度娘果然是 Bitch 。
    shutongxinq
        11
    shutongxinq  
       2015-09-06 14:32:09 +08:00
    原来是这样!
    fo2w
        12
    fo2w  
       2015-09-06 14:33:39 +08:00
    @DearMark 这招在远古时期已经失效
    chengxiao
        13
    chengxiao  
       2015-09-06 14:38:27 +08:00 via iPhone
    已删除所有百度系应用
    JerryHou
        14
    JerryHou  
       2015-09-06 14:45:16 +08:00
    BAT 三家都差不多……
    lingaoyi
        15
    lingaoyi  
       2015-09-06 14:47:02 +08:00
    iOS 百度云也是这样啊?
    qiayue
        16
    qiayue  
       2015-09-06 14:53:13 +08:00
    果然,我打开百度地图后,网址就可以访问了,关闭就不能
    honeycomb
        17
    honeycomb  
       2015-09-06 14:56:22 +08:00
    @myhu
    有一些缓解措施:
    Android:
    Firefox+ublock
    myang
        18
    myang  
       2015-09-06 15:03:18 +08:00
    还是 android 省心,各种服务随便杀
    ccccccc
        19
    ccccccc  
    OP
       2015-09-06 15:05:12 +08:00
    @fo2w 在 iOS 上好像有两种方式, 一种是播放空音频, 我不确定还有没有效果, 还有一种是请求后台常驻权限, 貌似 iOS 7 以上就可以了


    @chengxiao BAT 系还有各种其他的都会, 你要删很多 app 了, 还是弄个 '绿色守护' 之类的


    @honeycomb 你这样只是不允许页面访问这些生成的端口, 但是这些 web 服务器还是运行着
    est
        20
    est  
       2015-09-06 15:15:47 +08:00
    baidu 这是为了安装全家桶做准备。
    xdata
        21
    xdata  
       2015-09-06 15:22:39 +08:00
    看了一下,以 Android UA 打开百度首页 /贴吧页面..
    一堆堆被 umatrix block 掉的本地端口请求..
    如果以 https 访问还会报一堆 Mixed Content 错误.

    还好从来不装国内垃圾 APP..
    只从首页上看到了几个端口号.

    尝试一下封掉..
    # iptables -I OUTPUT -p tcp -o lo --dport 80 -j REJECT
    # curl 127.0.0.1:80
    curl: (7 ) Failed to connect to 127.0.0.1 port 80: Connection refused

    如果确实要用那些垃圾 App,又不想网页通过 App 获取到手机信息.
    很快能想到的一个思路:
    扫端口,查应用,拉黑端口,对着黑名单加 iptables

    如果考虑耗电, 卸载 > 冻结 > 绿色守护
    beddo
        22
    beddo  
       2015-09-06 15:27:20 +08:00
    测试 iOS 下没这个问题,不过还是卸载了百度系所有应用。
    em70
        23
    em70  
       2015-09-06 15:30:53 +08:00
    基因决定的吧,百度就算做个 app 也要按 web 的技术来做
    iyaozhen
        24
    iyaozhen  
       2015-09-06 16:06:57 +08:00 via Android
    @em70 你这没黑到点子上。

    其实都是为了数据统计,以及增强 web 功能。在 kpi 面前耗电什么的不是关键指标。
    beimenjun
        25
    beimenjun  
       2015-09-06 16:09:12 +08:00
    iOS 确实可以常驻后台的,但是没装百度之类的 App ,也就不知道他们有没有这么做了。

    其实不需要播放空白音频,这个是一些下载类型的 App 之前的方式。对于很多 App ,其实用 Background Fetch 估计就可以满足他们在上传位置、日志之类的需求了,比如 Move 这种运动轨迹的 App ,不用这种后台功能,整个 App 功能就废了,至于会不会有 App 滥用这种行为,我觉得肯定是有的,但是根本防不住。

    另外 Background Fetch 某种程度上并不算是后台常驻(不知道我有没有正确理解常驻的意义,个人觉得播放音频似的后台可能更类似常驻), Background Fetch 更像是系统隔一阵子叫醒 App 一次,然后 App 在几十秒内必须完成对应的操作,然后等到下一次再叫醒。

    不过我个人觉得楼主在主楼说的这类监听,就算是播放音频的三方 App ,在没有越狱的 iOS 上做不是特别的容易,很容易给沙盒模式限制住吧。
    leyle
        26
    leyle  
       2015-09-06 16:09:13 +08:00
    给大家推荐一个软件,真正的教这些垃圾做人。

    http://www.coolapk.com/apk/me.piebridge.forcestopgb

    阻止运行。
    yylzcom
        27
    yylzcom  
       2015-09-06 16:47:03 +08:00
    收藏了,哎,国内手机地图好像就百度的好用一些,其他的有什么良心的推荐吗?

    @leyle 目前在用绿色守护,和您推荐的这个相比有什么差异
    KillPaul
        28
    KillPaul  
       2015-09-06 17:16:58 +08:00
    @yylzcom 当然是高德地图啊
    finab
        29
    finab  
       2015-09-06 17:20:04 +08:00   ❤️ 1
    @ccccccc 播音频会很容易被用户发现,上拉或锁屏界面都可以看到 APP 正在播放音频呢,或者用户正在听歌会被突然打断。。
    用户一看,这还得了,立马卸载了。。
    这样得不偿失啊,所以百度在 iOS 上肯定不会是播音频
    amon
        30
    amon  
       2015-09-06 17:26:51 +08:00
    播放空白音频这种小聪明是很过时的做法了。
    未越狱的话,沙盒限制还是可靠的。
    另:如果不想后台运行的话,可以选择关掉“设置”—“通用”—“后台应用程序刷新”。
    leyle
        31
    leyle  
       2015-09-06 17:43:50 +08:00
    @yylzcom 这个比较干脆,当你点击了安桌的虚拟(实体)返回按钮退出了某个应用后,那个应用就“真”的退出了,进程被杀掉。服务被干掉。
    geeksu
        32
    geeksu  
       2015-09-06 17:50:37 +08:00
    @amon 最近流行什么做法?我需要实现按 Home 键后 APP 在后台保持运行
    qgy18
        33
    qgy18  
       2015-09-06 18:42:45 +08:00
    @muzuiget 有 referer 白名单的。这个做法很常见了,本地启一个 127.0.0.1 的 Web 服务,通过这个服务,让 Web 拥有端的能力(定位、 Push 、读取联系人、读取安装软件等等)。
    loading
        34
    loading  
       2015-09-06 18:46:17 +08:00 via iPhone
    我打开了开发者模式,长按返回键杀掉,还有个猎豹清理。

    绿色守护在 5.1.1 有吗? xposed 框架呢?
    nocheater
        35
    nocheater  
       2015-09-06 18:51:37 +08:00
    本地监听端口和耗电没有直接联系, cpu 、网络、 gps 、蓝牙这些硬件的消耗才是最主要的
    Zubin
        36
    Zubin  
       2015-09-06 19:20:15 +08:00   ❤️ 1
    @loading 都有, xposed 前几天刚发了 5.x 的正式版
    guoguoer
        37
    guoguoer  
       2015-09-06 19:28:49 +08:00 via Android
    验证到百度云有这个,删。
    datocp
        38
    datocp  
       2015-09-06 19:35:26 +08:00 via Android
    时代不一样了,以前用一个 海卓手机加速 就可以禁止手机开机自动启动,根据网络状态变化启动。
    可是现在的比如 那 vst 全聚合,很多进程在海卓手机加速里是发现不了的。最可恶的是用 海卓手机加速把 vst 全聚合 相应启动权限禁用,结果发现隐形进程又互相守护恢复权限。。。启动就算了,它还开始后台自动偷偷下载程序准备安装,在确定按钮时被拦住了。开发者太无良了,最后禁用,哈哈发现好久没用过 vst 。恶习相传啊。
    billlee
        39
    billlee  
       2015-09-06 20:36:32 +08:00
    @xdata 为什么需要扫端口,用 iptables 阻止掉所有传入连接会有问题吗?
    standin000
        40
    standin000  
       2015-09-06 20:38:55 +08:00
    @qiayue 是 ios?
    qiayue
        41
    qiayue  
       2015-09-06 20:52:30 +08:00
    @standin000 Android
    heiybb
        42
    heiybb  
       2015-09-06 23:38:09 +08:00   ❤️ 1
    @loading 在 5.1.1 有的。框架也可用。详见 XDA 论坛。 http://forum.xda-developers.com/xposed
    xierch
        43
    xierch  
       2015-09-07 00:09:41 +08:00
    浏览器不静止 lo ?
    现在 Windows 10 都是这么做的吧
    yulgang
        44
    yulgang  
       2015-09-07 08:34:25 +08:00
    @yylzcom 我平时出门前用 Google 地图,要是路上急用,就解冻百度地图 -。-
    1023400273
        45
    1023400273  
       2015-09-07 09:03:29 +08:00
    百度果然贱啊
    takashiki
        46
    takashiki  
       2015-09-07 09:06:32 +08:00
    我手机装了 150 个 app 左右(安卓),现在开着屏幕和不开屏幕耗电速度基本差不多。
    llcool
        47
    llcool  
       2015-09-07 09:31:22 +08:00
    @yulgang 最近感觉腾讯地图挺好用的
    breaklayer
        48
    breaklayer  
       2015-09-07 09:36:46 +08:00
    据我了解搜狐系的也是这样的
    beimenjun
        49
    beimenjun  
       2015-09-07 10:12:43 +08:00 via iPhone
    针对楼主 append 说一下。

    iOS 按 home 进入后台后,如果没有因为系统内存不够而终止,有大约十分钟的后台运行时间。
    roygcbp
        50
    roygcbp  
       2015-09-07 14:09:42 +08:00
    而且没有限制只能手机访问,局域网内都能访问,只要能拿到手机的 ip
    ccccccc
        51
    ccccccc  
    OP
       2015-09-07 14:13:44 +08:00
    @roygcbp 127.0.0.1 就是本机, 不关局域网什么的, 也不用拿手机 ip
    roygcbp
        52
    roygcbp  
       2015-09-07 14:17:16 +08:00
    @ccccccc 我是说假如手机的局域网 ip 是 192.168.1.2 那么在电脑上可以访问
    http://192.168.1.2:40310/getcuid?secret=0&mcmdf=inapp_baidu_bdgjs&callback=_box_jsonp506
    xuc
        53
    xuc  
       2015-09-07 14:29:34 +08:00 via Android
    百度输入法有,又不能对它使用绿色守护,删除
    yuchting
        54
    yuchting  
       2015-09-07 15:12:44 +08:00
    曾经黑莓不可一世的时候他的 BIS 推送使用的就是手机直接开端口监听,然后基站去代理主动访问。。。
    ccccccc
        55
    ccccccc  
    OP
       2015-09-07 15:17:09 +08:00
    @roygcbp 手机电脑可以互访的话, 是可以的
    paw
        56
    paw  
       2015-09-07 16:08:40 +08:00
    这不等于是给任何 html 网页都开了个后门吗
    只要知道这些国产应用的端口和格式,任何页面只要想拿就能拿到这些信息了
    qcsqw
        57
    qcsqw  
       2015-09-07 16:13:58 +08:00
    据我发现, bilibili 的 iso 客户端是可以在后台保持持续缓存视频,这是怎么做到?其他的应用切出去过一两分钟就断掉了。
    regeditms
        58
    regeditms  
       2015-09-07 17:02:34 +08:00
    @qcsqw 什么意思?是保持缓存的视频 还是持续刷新?
    wohenyingyu01
        59
    wohenyingyu01  
       2015-09-07 17:20:24 +08:00
    @ccccccc 会被 app store 永拒的。。
    Jaylee
        60
    Jaylee  
       2015-09-07 17:31:04 +08:00
    @qcsqw 爱奇艺也可以啊
    ForgotFun
        61
    ForgotFun  
       2015-09-07 17:32:46 +08:00 via iPhone
    楼主你得保重,估计百度会告你诽谤。不管你是对的还是错的。
    archxm
        62
    archxm  
       2015-09-07 17:46:27 +08:00
    除了百度输入法, 还有什么推荐的么?
    dorentus
        63
    dorentus  
       2015-09-07 23:04:24 +08:00 via iPhone
    @qcsqw iOS 版本大概是 8 的新功能,后台下载(默认授权,用户可以按应用禁止)。
    qcsqw
        64
    qcsqw  
       2015-09-08 14:32:49 +08:00
    @regeditms 持续刷新,跟安卓系统中的后台下载类似。
    regeditms
        65
    regeditms  
       2015-09-08 14:46:24 +08:00
    @qcsqw 这怎么做到的 iOS 有 api 可以 每隔一段时间被调用吗?
    miyuki
        66
    miyuki  
       2015-11-02 23:57:54 +08:00
    XhstormR
        67
    XhstormR  
       2015-11-03 13:33:11 +08:00 via Android
    moyaka
        68
    moyaka  
       2015-11-03 19:55:45 +08:00
    @ccccccc http://www.freebuf.com/vuls/83789.html 原来你比他们还早发现了这个漏洞!!
    pljhonglu
        69
    pljhonglu  
       2015-11-04 18:13:44 +08:00
    @moyaka 哈哈,同找到这里了~
    xarrow
        70
    xarrow  
       2015-11-04 22:10:04 +08:00
    原来最早发现漏洞的在这儿~
    kqz901002
        71
    kqz901002  
       2015-11-04 22:26:49 +08:00
    楼主你还在么
    chengzhoukun
        72
    chengzhoukun  
       2015-11-05 00:01:20 +08:00
    楼主细心!!
    guoer
        73
    guoer  
       2015-11-06 12:37:57 +08:00
    挖坟
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1176 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:48 · PVG 07:48 · LAX 15:48 · JFK 18:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.