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

安卓 5.x 和 6.x,设置里关闭了定位, app 请求定位的权限也关了,为何微信、QQ、支付宝还能定位出来??

  •  
  •   qceytzn · 2016-09-25 05:11:25 +08:00 · 18030 次点击
    这是一个创建于 2742 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设置里的定位服务关闭自然不用说,再加上 xprivacy 限制了所有程序的定位权限,但是,微信 QQ 支付宝依然能定位出来,还不像是依据 ip 定位的,在家的时候连着 wifi 然后重启路由换了 IP 依然是很准确的定位,甚至,连着 VPN ,还是准确的定位,怎么了这是?我在 4.x 的系统上都能让这些软件完全定位不出来的,请问如何在 5.x 、 6.x 的系统上完全关闭定位??

    第 1 条附言  ·  2016-09-26 04:24:00 +08:00
    看了大家的讨论,总结起来就是跟 wifi 、基站、大数据有关,有个“扫描 WIFI ”的权限必须关闭,那么我再追问一下:如果我把手机设置成全局代理,让微信 QQ 支付宝全部走代理,同时绝对不让它们探测到我的真实位置,如何做比较好?除了手机的定位服务关闭之外,禁用扫描 WIFI 和电话服务这两点就可以保证真实的位置信息不泄漏吗?
    34 条回复    2016-09-26 16:24:13 +08:00
    xupefei
        1
    xupefei  
       2016-09-25 05:27:40 +08:00
    有时候是根据历史位置推算的:我现在在国外, QQ 和微信都说我在国内家里,无论多少次刷新都是这样。
    qceytzn
        2
    qceytzn  
    OP
       2016-09-25 05:36:44 +08:00
    @xupefei 有所谓的“定位缓存”吗?这个是安卓系统缓存的定位还是各个 app 保存的?如果确实有这种缓存能删干净吗??如果不能把这种还不知道是否真的存在的“定位缓存”删干净并且再实验一下的话我还是不放心啊!
    ltux
        3
    ltux  
       2016-09-25 06:08:06 +08:00 via Android   ❤️ 5
    扫描你周边的 WIFI 热点的 MAC 地址,即可定位。设备 IP 会变,某个地区的接入点通常不会变。事先用 GPS 设备和 WIFI 设备建立经纬坐标和 MAC 地址之间的大致对应关系,以后只需扫描周围接入点的 MAC 地址也就能定位了。这事儿谷歌干了好多年了,当年谷歌街景车边拍风景边扫描沿途的 WIFI 。
    你需要用 adb shell appops 命令 ignore 相应 app 的 ACCESS_WIFI_STATE 和 CHANGE_WIFI_STATE 权限。
    xupefei
        4
    xupefei  
       2016-09-25 06:08:14 +08:00
    @qceytzn 我体感是各个 APP 保存的。具体能不能删干净就不知道了,因为 APP 可能会把定位上传到服务器上。
    pmpio
        5
    pmpio  
       2016-09-25 06:38:51 +08:00 via Android
    国内的 app 大都更喜欢基站定位,你把手机卡拿掉试试。。。。。
    hjklb
        6
    hjklb  
       2016-09-25 08:00:36 +08:00 via Android
    只要给 Wifi 权限或者电话状态就能精确定位到你。
    可以安装相关 Xposed 模块来解决。
    jiezhi
        7
    jiezhi  
       2016-09-25 09:14:56 +08:00 via iPhone
    安卓是有个接口拿到上次已知的地理位置,不过也不排除通过网络定位的,楼主跑远一点试试呢
    gdtv
        8
    gdtv  
       2016-09-25 09:51:27 +08:00
    有些 app 你禁止读取短信权限他还是能读取的
    vmebeh
        9
    vmebeh  
       2016-09-25 10:21:44 +08:00
    疼讯应该有能力收集 附近 SSID-IP-GPS 关系的能力,只要附近网络有可信度比较高的记录出现,就能实现通过 IP 精确定位,即使不通过 ISP 。

    实例:新装的宽带,打开百度地图直接定位到比较精确的位置
    ltux
        10
    ltux  
       2016-09-25 10:23:11 +08:00 via Android
    我“想当然”了。
    并不能控制那俩权限。应该是 WIFI_SCAN
    shenfu1991
        11
    shenfu1991  
       2016-09-25 10:26:47 +08:00 via iPhone
    网络就能定位啊,搜索本机 ip ,不就知道你所在城市了
    snsd
        12
    snsd  
       2016-09-25 10:33:14 +08:00
    @shenfu1991 有些地方 ip 轮巡,同一个省(区)今天把这个 ip 给某个城市用,可能过几个月又换给另一个城市用了
    ericls
        13
    ericls  
       2016-09-25 10:35:16 +08:00 via iPhone
    根据周围 wifi 的名称可以精确定位
    BURNER
        14
    BURNER  
       2016-09-25 10:37:46 +08:00
    我开着 vpn qq ,微信照样定位
    SourceMan
        15
    SourceMan  
       2016-09-25 10:48:44 +08:00 via iPhone
    基站, WiFi ,这些辅助地位都可以读取到你大概的位置
    ipconfiger
        16
    ipconfiger  
       2016-09-25 10:53:13 +08:00
    总结起来就是 基站, WIFI, 大数据
    wxf04125
        17
    wxf04125  
       2016-09-25 11:14:13 +08:00
    学习了,说到底,定位只是获取位置信息的一个手段而已,两者不能划等号
    twoyuan
        18
    twoyuan  
       2016-09-25 11:27:54 +08:00
    百度定位的 SDK 就自带怎么都能定位的属性,被测试提了 N 遍「为什么关了定位还能定位」的 bug 了……
    honeycomb
        19
    honeycomb  
       2016-09-25 11:35:38 +08:00 via Android
    位置权限关掉还是可以拿到已经连接的路由器 bssid/SSID ,光这两个就可以提供很好的位置信息了。

    尝试断开路由器再试试。

    而且你有 xprivacy ,是可以找到它们调用的所有 API 的
    honeycomb
        20
    honeycomb  
       2016-09-25 11:40:23 +08:00 via Android
    @ltux

    appops 里没有 ACCESS_WIFI_STATE 或者 CHANGE_WIFI_STATE 这两个 op

    禁用定位权限以后应用是不能调用查看 WiFi 扫描结果的 API 的
    ltux
        21
    ltux  
       2016-09-25 11:56:05 +08:00 via Android
    @honeycomb 多谢指教。查文档,确实如此。
    ltux
        22
    ltux  
       2016-09-25 12:01:10 +08:00 via Android
    @honeycomb 我之前以为 appops 能控制所有权限哩,结果貌似还是只能控制 dangerous 级别的权限
    honeycomb
        23
    honeycomb  
       2016-09-25 12:08:08 +08:00 via Android
    @ltux appops 是运行时权限机制所依赖的底层,从 Android4.3 开始出现,它能控制的项目更多粒度更细,但它的设置和运行时权限是同时生效的(只要有一方阻止了,这个动作便无法进行,于是可以用来对付微信这种没电话权限就不运行的非法行为)
    kunanaxp
        24
    kunanaxp  
       2016-09-25 13:18:16 +08:00 via Android
    CM 自带的另一套权限管理能够禁用 WiFi 扫描权限
    Halry
        25
    Halry  
       2016-09-25 13:26:55 +08:00
    wifi,有 wifi 扫描,你要关了 wifi_scan.
    imn1
        26
    imn1  
       2016-09-25 13:36:02 +08:00
    如果看过今年最强大脑泰森多边形那集,就能理解
    kamen
        27
    kamen  
       2016-09-25 13:59:12 +08:00   ❤️ 1
    @ltux 我就说嘛,为啥那么多软件总喜欢扫 wifi ,于是我机制地把这个权限默认拒绝了
    honeycomb
        28
    honeycomb  
       2016-09-25 16:37:42 +08:00 via Android
    @kunanaxp cm 自带的那个就是 appops , cm 做了它的用户界面,但是它可能在 aosp 的基础上添加了一些新的条目。
    qceytzn
        29
    qceytzn  
    OP
       2016-09-26 04:12:40 +08:00
    @ltux "adb shell appops 命令 ignore 相应 app 的 ACCESS_WIFI_STATE 和 CHANGE_WIFI_STATE 权限" 这两条命令对应的 Xprivacy 的设置是哪两条?
    qceytzn
        30
    qceytzn  
    OP
       2016-09-26 04:15:51 +08:00
    @hjklb XPrivacy 是必装的,为了确保不让任何的 APP 能定位需要在 XPrivacy 里面设置哪些条目??我希望的效果是打开各个 app 的定位时显示“无法定位,请打开定位服务”之类的提示
    hjklb
        31
    hjklb  
       2016-09-26 07:59:30 +08:00 via Android
    @qceytzn 我用的是 lataclysm , Xposed 仓库有好几个专门伪装位置的模块。 Xprivacy 太多功能不需要。经纬度,基站, Wifi 信息都伪装。
    不让获取基站 /Wifi/GPS 时不就提示无法定位了,不能禁止获取的随便给个垃圾数据。
    yankebupt
        32
    yankebupt  
       2016-09-26 10:41:31 +08:00 via Android
    @hjklb 微信这点流氓,如果你真的假冒一个位置给他,他判定你异地登陆,让你亲自确认身份,这样即使你从不汇报真实位置给他,他的数据库里也会有这样一条:此人是旅行家或位置伪装惯犯。对反网警侦查没半点作用。所以该需要更强力的手段才可以
    21grams
        33
    21grams  
       2016-09-26 11:06:43 +08:00
    基站或者 wifi 定位,国内都是流氓软件。
    yuedingwangji
        34
    yuedingwangji  
       2016-09-26 16:24:13 +08:00
    xp 模块可以实现虚拟定位
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5273 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:26 · PVG 09:26 · LAX 18:26 · JFK 21:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.