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

如何修改定位,而不被软件检测

  •  
  •   a661463257 · 2022-08-25 07:34:28 +08:00 · 25976 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,比如一些打卡软件有检测定位软件的功能,如何做到修改定位而不被其他软件发现呢

    94 条回复    2024-01-24 10:45:17 +08:00
    datou
        1
    datou  
       2022-08-25 07:59:43 +08:00   ❤️ 23
    软的不行来硬的

    可以尝试用 SDR 发射虚假的 GPS 信号欺骗手机

    https://www.bilibili.com/video/BV1F54y1R7Y1/

    不过我没有 hackRF ,不确定是否有效
    cpstar
        2
    cpstar  
       2022-08-25 08:17:18 +08:00   ❤️ 2
    楼上的方案真黑,黑到家了。打开视频前,以为就是模拟一颗卫星的信号,心说一颗也不能搞定啊,结果干脆模拟了 11 颗,足够了。
    但是别在机场周边玩,虽然功率不大,但是万一,那就真刑了。
    xaplux
        3
    xaplux  
       2022-08-25 08:31:22 +08:00
    这玩意最好别碰,自用可能还好,很刑的
    murmur
        4
    murmur  
       2022-08-25 08:34:06 +08:00   ❤️ 1
    我日自建假信号,超纲了好吧
    z0wjqnxi
        5
    z0wjqnxi  
       2022-08-25 08:35:31 +08:00   ❤️ 6
    当破解定位的成本和风险 都比较高时,你只需要买一个 5 美元的扳手(划掉) , 一两百的备用安卓机,平时放在公司,让关系好的同事帮忙点
    404neko
        6
    404neko  
       2022-08-25 08:38:17 +08:00
    hackRF.exe
    totoro625
        7
    totoro625  
       2022-08-25 08:39:16 +08:00   ❤️ 3
    目前在用的一套方案:
    咸鱼一加 5 300 元
    淘宝改无电池方案 160 元
    刷机到安卓 8.1.0 ( 5.1.4_OnePlus5Hydrogen_23_OTA_037.zip )
    什么选择 Android 8.1 ,因为这个版本是唯一同时可以支持 Xposed 、太极、EdXposed 和 LSPosed 的 Android 版本
    安装 Magisk v23.0 或 Magisk v22.1 或更低版本 https://github.com/topjohnwu/Magisk/releases
    打开 MagiskHide ,把一系类软件全部添加进去,只保留需要用到 root 的几个软件
    安装 Fake Location ,并开通会员 72 一年 https://github.com/Lerist/FakeLocation
    安装炼妖壶,把需要改定位的软件放到工作空间(壶中界)
    msaionyc
        8
    msaionyc  
       2022-08-25 08:40:51 +08:00 via iPhone   ❤️ 2
    我看你们的发言我都害怕...
    xinJang
        9
    xinJang  
       2022-08-25 08:45:31 +08:00
    钉钉开启人脸+定位听说模拟打卡,后台也可以检测出(爱思同理)
    Webpoplayer
        10
    Webpoplayer  
       2022-08-25 08:47:34 +08:00
    感觉越来越刑了...
    idragonet
        11
    idragonet  
       2022-08-25 08:49:54 +08:00
    我之前就是拿一台旧安卓手机在公司,自动打开。
    cjpjxjx
        12
    cjpjxjx  
       2022-08-25 08:54:54 +08:00 via iPhone
    把打卡机拿回家
    zhuweiyou
        13
    zhuweiyou  
       2022-08-25 08:58:56 +08:00
    如果不人脸 只是定位+WiFi 的话, 50 收台旧手机放公司, 让早来的同事帮你打.
    adnoh
        14
    adnoh  
       2022-08-25 09:00:35 +08:00 via Android   ❤️ 1
    使用虚拟机 vmos ,里面开启 root ,安装大牛,钉钉测试过后台没上报异常
    DoubleKing
        15
    DoubleKing  
       2022-08-25 09:04:57 +08:00   ❤️ 1
    找个不打卡的公司
    coala
        16
    coala  
       2022-08-25 09:10:45 +08:00
    找个不打卡的公司 +1
    GressJoe
        17
    GressJoe  
       2022-08-25 09:14:14 +08:00
    企业微信能检测出 ios 爱思该位置吗
    xuxuxu123
        18
    xuxuxu123  
       2022-08-25 09:19:52 +08:00   ❤️ 3
    我来推荐一个吧;
    联想 ZUK 手机,系统自带位置穿越,由于是系统级,app 实测无异常,包括钉钉;
    实测时间:2022 年 4 月份,现在怎样具体未知;
    为了测试,我还自己用钉钉建了一个组织,自己打卡,自己用管理员权限看打卡记录;
    xz410236056
        19
    xz410236056  
       2022-08-25 09:24:09 +08:00   ❤️ 1
    ios 可以创建带地理配置文件的 app 改整个系统的定位,软件拿到的定位就系统给的。 就是麻烦点,每次需要重启才能恢复正常定位
    ltyj2003
        20
    ltyj2003  
       2022-08-25 09:31:47 +08:00 via Android
    @datou 还有用 USB3.0 转 VGA 适配器来做 sdr 发射的,这个成本更低。
    关于干扰卫星定位,室内操作一般不用担心,除非加放大器,不然干扰不了多远。
    室外由于能收到数量更多的真的卫星信息,模拟的卫星信息会被识别并剔除,手机会定位到实际位置,所以操作时应在室内,同时远离窗口。
    Leonard
        21
    Leonard  
       2022-08-25 09:45:37 +08:00
    搞个淘汰的手机放公司自动打卡是最安全的做法
    jujusama
        22
    jujusama  
       2022-08-25 09:52:44 +08:00
    MacOS AnyGo ?不知道会不会被检测
    Free3
        23
    Free3  
       2022-08-25 09:58:35 +08:00 via iPhone
    @xz410236056 一直想知道 iOS 通过这种方式改的定位 钉钉或者企业微信 后台会报异常吗?
    ianEros
        24
    ianEros  
       2022-08-25 10:05:16 +08:00   ❤️ 1
    @Free3 我觉得是不会。。我两家公司用了少说三年了。。
    Chaconne
        25
    Chaconne  
       2022-08-25 10:07:18 +08:00
    @z0wjqnxi 这个我行,最好不要其他人参与,通过 frp 远程公司电脑,然后通过一个软件(不记得名字了)链接电脑和安卓手机,即可操作
    Huelse
        26
    Huelse  
       2022-08-25 10:09:01 +08:00   ❤️ 1
    @z0wjqnxi #5 如果是钉钉的话,后台有可能检测出你用备用机的,我第一次看到钉钉那个打卡报告的时候很震惊
    xz410236056
        27
    xz410236056  
       2022-08-25 10:10:42 +08:00
    @Free3 #23 不会,app 获取的定位是通过 CoreLocation 拿的,内部细节都是系统封装好的。这种方式改的是整个系统的定位,某个 app 根本不知道这个定位是怎么来的。
    rev1si0n
        28
    rev1si0n  
       2022-08-25 10:10:59 +08:00
    公开的 APP 想不被检测不容易,最简单的那就是放一台手机在定位的地方,说改 GPS 信号的,现在国内 APP 有几个是纯依靠 GPS 定位的,都是基站 WIFIGPS 混合
    polobug
        29
    polobug  
       2022-08-25 10:11:30 +08:00
    钉钉,万恶之源啊,开发那么多功能干嘛嘛,
    Patrick1
        30
    Patrick1  
       2022-08-25 10:15:41 +08:00
    打工人何苦为难打工人
    aphyllan
        31
    aphyllan  
       2022-08-25 10:28:01 +08:00   ❤️ 5
    讲一个简单、安全、低成本,已经用了很多年的方案——模拟 WiFi 接入点。

    原理非常简单:对于绝大多数提供定位功能的 SDK ,如果无法通过 GPS 信号定位,那么就会扫描周围 WiFi 接入点的信息来进行定位。而一旦成功通过 WiFi 进行定位,就会忽略基站定位的结果。

    所以你只需要:
    1. 在目标位置尽可能多地采集 ESSID 与 BSSID
    2. 购买一个可以编程发送 WiFi 报文的设备(我的选择是体积小、自带电池的 M5Stack Stick C )
    3. 写一些代码,让这台设备以尽可能快的速度、尽可能高的功率发送目标位置 ESSID 与 BSSID 的 Beacon 帧

    然后,在必要的时候:
    1. 寻找一个 GPS 信号弱的位置(这很容易做到,比如家中、地铁、车库)
    2. 将那台设备打开,靠近手机
    3. 像平时一样,在你的手机上进行操作
    jlyybz
        32
    jlyybz  
       2022-08-25 10:51:08 +08:00
    @z0wjqnxi 我们的要人脸识别 没办法啊
    jlyybz
        33
    jlyybz  
       2022-08-25 10:54:31 +08:00
    @totoro625 一加 5 咸鱼不是才 80 左右吗?你啥时候买的?无电池方案看起来很高级,我也去搜搜。
    w88975
        34
    w88975  
       2022-08-25 11:02:07 +08:00
    @xz410236056 这有个弊端就是 如果修改了定位 长期多次上报的经纬度是一模一样的, 钉钉就可以认为你改了定位
    brainor
        35
    brainor  
       2022-08-25 11:12:27 +08:00
    @adnoh #14 咦, 可是好像钉钉会发现我使用了虚拟环境诶, 怎么防止 VMOS 被检测出来啊?
    hftrrt
        36
    hftrrt  
       2022-08-25 11:25:11 +08:00
    @zhuweiyou 既然用了钉钉,不用回消息么?你打算用 50 手机办公还是主力机办公?下班后如何回消息?
    zhuweiyou
        37
    zhuweiyou  
       2022-08-25 11:33:40 +08:00
    @hftrrt 下班还回消息? 什么公司啊 还不辞职
    brainor
        38
    brainor  
       2022-08-25 11:37:22 +08:00
    @adnoh #14 哦我把 VMOS 里其他的模拟 GPS 的 APP 卸载掉后貌似就没问题了…
    Guesser
        39
    Guesser  
       2022-08-25 11:42:48 +08:00
    IOS+爱思定位
    newmlp
        40
    newmlp  
       2022-08-25 11:49:28 +08:00
    @Free3 自己创建个公司打个卡不就知道了
    polobug
        41
    polobug  
       2022-08-25 11:50:16 +08:00
    @Guesser #39 ios 其实是有接口读取的是否修改的
    JimmyLX
        42
    JimmyLX  
       2022-08-25 11:52:37 +08:00
    @xz410236056 #19 有具体一点的教程或者其他信息吗,感谢
    tianxin12138
        43
    tianxin12138  
       2022-08-25 11:55:54 +08:00   ❤️ 1
    放个手机在公司,别设置锁屏密码,快捷指令一配置你懂的
    Cloud9527
        44
    Cloud9527  
       2022-08-25 11:56:20 +08:00
    自己开公司当老板就不用打卡了,打工人基本的公司规则得遵守吧。冒这个风险在被抓到,得不偿失。不太理解为啥要这样做。
    Marionic0723
        45
    Marionic0723  
       2022-08-25 12:36:26 +08:00
    @datou 卧槽还真能这么干,我只是设想过来硬的,就是不知道怎么同时模拟十几个卫星信号……
    James369
        46
    James369  
       2022-08-25 12:54:51 +08:00
    @datou 这么容易破解,看来 GPS 安全性不怎么样
    James369
        47
    James369  
       2022-08-25 12:56:03 +08:00
    @tianxin12138 你的方法可行,我以前是放一台手机在天天早到公司的同事那里,帮忙打卡
    xuanbg
        48
    xuanbg  
       2022-08-25 13:16:02 +08:00
    这种判断只能在前端进行。所以……服务端是不可能有位置信息的数据校验的。辣么,抓个包,直接模拟参数调打卡接口就行了。
    xz410236056
        49
    xz410236056  
       2022-08-25 13:44:06 +08:00
    @w88975 #34 这属于别的逻辑了跟定位没关系,每次 build 的时候放不同一个不同的 GPX 文件呗。
    xz410236056
        50
    xz410236056  
       2022-08-25 13:44:54 +08:00
    @JimmyLX #42 xcode 新建个工程,放个 GPX 文件,在手机上 run 一下,搞定。
    iiwii
        51
    iiwii  
       2022-08-25 14:13:54 +08:00
    邻居打开外卖软件定位到柬埔寨而陷入沉思
    653513754
        52
    653513754  
       2022-08-25 14:22:03 +08:00
    @xz410236056 这个可以检测出来的,很多参数没有模拟为空,定位精度也不对
    unco020511
        53
    unco020511  
       2022-08-25 14:27:10 +08:00
    你就不能找个不用打卡的公司密码
    xz410236056
        54
    xz410236056  
       2022-08-25 14:31:46 +08:00
    @653513754 #52 大哥,怎么会空,你该有的参数都会有,改的又不是 app ,改的是系统定位,你用 CoreLocation 获取精度不会变。你怎么检测?
    DCELL
        55
    DCELL  
       2022-08-25 14:39:56 +08:00   ❤️ 1
    这... 我以前是 android 手机录制一遍打卡流程.... 然后写了一个 app ,监听我自己的电话呼入,如果发现是我自己电话呼入,则用 monkey 走一遍打卡...
    iOS 我更加暴力,直接 hook 公司打卡 app ,修改了经纬度,重签名
    liyang5945
        56
    liyang5945  
       2022-08-25 14:43:02 +08:00
    LSPosed 里面有一个模块叫 fuck location ,里面有修改 ECI PCI 的选项,也就是基站编号,使用一个软件 celluarpro 能获取到这些参数,我已经使用了几次,就是不太稳定,有时候需要重新安装模块 /重启手机才生效
    pnongrata
        57
    pnongrata  
       2022-08-25 15:02:48 +08:00
    @Huelse 老哥,啥报告
    xylxAdai
        58
    xylxAdai  
       2022-08-25 15:09:23 +08:00
    把 android 源码掏出来自己改了 gps 的实现,随便改成你想要的逻辑。然后自己编译一个安卓系统,想定位哪儿定位哪儿。没人能知道。
    xylxAdai
        59
    xylxAdai  
       2022-08-25 15:10:24 +08:00
    当然定位肯定没这么简单,还会搭配比如基站啊之类的东西,看看安卓源码,自己改改。问题不大 hhh
    edis0n0
        60
    edis0n0  
       2022-08-25 15:33:52 +08:00   ❤️ 2
    @Free3
    @xz410236056 会,iOS 15 加了检测位置信息来源的 API ,钉钉 6 月底的版本接入了
    xiao109
        61
    xiao109  
       2022-08-25 15:46:25 +08:00
    上一个欺骗钉钉打卡的已经因为破坏信息安全罪进去了
    hewiefsociety
        62
    hewiefsociety  
       2022-08-25 15:49:42 +08:00
    你这个问题付费就可以解决:)
    youxiachai
        63
    youxiachai  
       2022-08-25 15:59:36 +08:00
    @James369 gps 广播信号..什么时候讨论过安全性了..没搞懂为啥能跟安全性扯上关系..
    V2Axiu
        64
    V2Axiu  
       2022-08-25 16:07:36 +08:00
    两台手机,一个远程控制手机软件。
    nothingistrue
        65
    nothingistrue  
       2022-08-25 16:18:16 +08:00
    如果是其他场景,还好说,如果是考勤打卡场景,那就千万别动这心思。就算是 99.9999%的成功率,只要有一次被发现了,你立马就可以喜提无赔偿开除外加多年累积的加班时长作废。
    docx
        66
    docx  
       2022-08-25 16:25:54 +08:00 via iPhone
    1 楼方案有点离谱,我以为 root 模拟+隐藏 root 就差不多了
    ZeroClover
        67
    ZeroClover  
       2022-08-25 17:00:16 +08:00
    iOS Xcode 改定位根本没用,位置来源虽然是系统( type 0 ),但是 Xcode 定位的精度是 -1 ,海拔高度是 0 ,随便识别一下就能识别出来。
    pengtdyd
        68
    pengtdyd  
       2022-08-25 17:02:11 +08:00   ❤️ 1
    这个世界上最大的漏洞是人,这是以前从一本黑客书里面学到的一句话。
    bottlebottles
        69
    bottlebottles  
       2022-08-25 22:19:26 +08:00
    fake location ,禁止读取应用列表,隐藏 root
    Eagleyes
        70
    Eagleyes  
       2022-08-25 23:21:02 +08:00
    @xiao109 #61 安卓手机,丁丁助手,锤锤,taichi
    shakespark
        71
    shakespark  
       2022-08-25 23:45:13 +08:00
    https://developer.apple.com/documentation/corelocation/cllocation/3861803-sourceinformation

    Declaration
    var sourceInformation: CLLocationSourceInformation? { get }

    Discussion
    This property enables developers to make better-informed decisions as to whether to treat certain locations differently, or reject potentially simulated locations that they generate during testing. An app may choose to check this property and reject locations if, for example, the isSimulatedBySoftware property is true when the developer isn’t debugging or testing the app.

    Use the sourceInformation property when knowing the true location of the device (within a tolerance for estimation error and horizontal/vertical accuracy) is critical.


    https://developer.apple.com/documentation/corelocation/cllocationsourceinformation/3861807-issimulatedbysoftware

    Declaration
    var isSimulatedBySoftware: Bool { get }

    Discussion
    Core Location sets isSimulatedBySoftware to true if the system generated the location using on-device software simulation. You can simulate locations by loading GPX files using the Xcode debugger. The default value is false.


    https://developer.apple.com/documentation/corelocation/cllocationsourceinformation/3861806-isproducedbyaccessory

    Declaration
    var isProducedByAccessory: Bool { get }

    Discussion
    Core Location sets isProducedByAccessory to true if the system retrieved the location from an external accessory attached to the device, such as a Made for iPhone GPS dongle or CarPlay. Otherwise, the default value is false.
    neighbads
        72
    neighbads  
       2022-08-26 07:06:18 +08:00 via Android
    @totoro625 没用的,钉钉管理员后台可以看到作弊打卡,自己新建一个钉钉组织 可以试试。
    lozzow
        73
    lozzow  
       2022-08-26 09:40:20 +08:00 via Android
    @datou 有效,我以前就是这样搞的
    xz410236056
        74
    xz410236056  
       2022-08-26 10:32:23 +08:00
    @edis0n0 #60
    @shakespark #71

    隐私中关闭精确定位这个值就获取不到了,位置大概会偏离几百米。
    xz410236056
        75
    xz410236056  
       2022-08-26 10:34:38 +08:00
    @edis0n0 #60 本身这件事就是一种攻防,防御方可能会上一系列策略,攻击方也能是能见招拆招。
    在这种事情上下功夫,还不如搞几个免费车位,去晚了就没了来的有效。
    653513754
        76
    653513754  
       2022-08-26 12:55:08 +08:00
    @xz410236056 CLLocation 的私有属性_internal 中的 type 可以判断定位来源没有模拟海拔,速度,还有手机朝向,这些信息都是默认值
    YLGG
        77
    YLGG  
       2022-08-26 14:11:23 +08:00
    记得 V2 上之前有个老哥开发的一个,可以用安卓修改苹果定位,这个所有软件都检测不到。
    feller
        78
    feller  
       2022-08-26 16:38:11 +08:00
    hook
    lmw2616
        79
    lmw2616  
       2022-08-26 16:50:56 +08:00
    换一个不需要打卡的公司
    hftrrt
        80
    hftrrt  
       2022-08-26 19:18:03 +08:00 via Android
    @zhuweiyou 你这么牛逼还用什么钉钉?
    shakespark
        81
    shakespark  
       2022-08-26 22:36:42 +08:00
    @xz410236056 试了一下公司用的打卡软件,不打开精确定位就不让打卡
    xiaofeiyangduizh
        82
    xiaofeiyangduizh  
       2022-08-26 23:42:54 +08:00 via iPhone
    1 楼的方法我试过,是可行的,但是条件要求高,不能是在 GPS 信号强的地方,而且手机搜索 GPS 信号时间久,不方便操作(实际上可以脱离电脑单独操作),但是也是最物理的一种方法。还有一种 IOS 的模拟方法是用外接定位设备,由外接设备将修改过的 GPS 信号传给操作系统,也是系统级的,好处是方便,不好的地方是 APP 不能上架商店。还有一种是模拟 WIFI 定位的方式,这个我没试过。还有一种是用安卓手机,自己写个机器人帮你点打卡就完了,保险起见可以设置远程控制,机器人失败了还可以远程手动控制。
    MooRider
        83
    MooRider  
       2022-08-27 02:49:04 +08:00   ❤️ 1
    一楼的方法我用过, 设备是 hackrf one, 可以同时模拟 11 颗卫星的数据, 实现在弱 gps 信号的情况下模拟定位. 但有一个问题就是现在微信 /钉钉等软件的定位不仅涉及 gps 信号, 还有你周围基站的数据和 wifi 数据, 这个就需要多个 sdr 设备模拟了, wifi 还有可能模拟, 基站我就不懂了
    MooRider
        84
    MooRider  
       2022-08-27 02:54:51 +08:00
    @Marionic0723
    通过这个开源库, https://github.com/osqzss/gps-sdr-sim, 可以通过 sdr 设备不断发射 gps 信号, 实现多颗卫星模拟, 不但可以模拟静止位置, 还可以设定运行轨迹之后模拟轨迹.
    这玩意应用挺广的, 比如很多人玩 pokemen go 通过这个设备来"飞机".
    还有有的驾校学时需要刷里程, 学员刷卡之后车需要运动一大段距离才算一个学时, 但很多学员没那么多时间练车, 很多驾校就会买几个市面上现成的 gps 模拟设备放在车上, 让监管系统认为车在运动, 那些设备就是这个原理.
    kaiger
        85
    kaiger  
       2022-08-29 16:22:26 +08:00
    借楼提问,指纹打卡怎么破
    zhanlanhuizhang
        86
    zhanlanhuizhang  
       2022-08-30 09:30:39 +08:00
    可以让同事,用指纹膜。
    xiao252
        87
    xiao252  
       2022-08-30 22:53:51 +08:00
    @MooRider 这个成本有点儿高呀
    datou
        88
    datou  
       2022-09-06 23:12:27 +08:00
    @MooRider 钉钉在 Android 手机不 root 的情况下能获取基站 PCI 和 CellID 吗?
    xcjzv
        89
    xcjzv  
       2022-09-26 00:13:14 +08:00
    @edis0n0
    @shakespark
    @xz410236056

    用一台 ios14 的手机,爱思修改定位,然后关闭精准定位,还有可能被识别到吗?

    另外好多人说的,高度、朝向等数据是默认,可能是特征信号?
    digitalwater
        90
    digitalwater  
       2023-01-29 12:16:55 +08:00
    买个有开源系统支持的手机,比如 pixel 或者小米,然后下载源码,把 location ,wifi ,cellid 相关的代码改了。到目的地信息采集的 location ,wifi ,cellid 序列化保存下来,然后判断 uid ,把信息反序列化喂给 app 。这个方法 app 层面无解,除非它把你的系统应用上传去人工分析。
    zhsh19900622
        91
    zhsh19900622  
       2023-03-16 22:16:53 +08:00
    root+隐藏

    一直用 lataclysm

    钉钉有你们说的那么牛吗..还能识别虚拟,备用机?? 扯吧...

    fucklocation 也挺好用的..都能定位到想要的位置.
    alan9999
        92
    alan9999  
       2023-03-24 22:46:20 +08:00
    @YLGG 我知道那个软件,原理类似爱思改定位,可以被钉钉检查到
    BaiLinfeng
        93
    BaiLinfeng  
       349 天前 via Android
    @zhsh19900622 FuckLocation 我下载了我选择了作用域为啥没有生效,没有起到作用尼
    SoyaDokio
        94
    SoyaDokio  
       309 天前
    @idragonet #11 怎么实现自动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 03:07 · PVG 11:07 · LAX 19:07 · JFK 22:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.