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

想探讨一下钉钉对几种远程打卡的检测与限制呀

  •  1
     
  •   walktewy · 283 天前 · 13302 次点击
    这是一个创建于 283 天前的主题,其中的信息可能已经有所发展或是发生改变。

    究竟哪一种比较安全稳定。

    1. 定位修改 iOS 免越狱、安卓都有修改定位的软件,以及尾插这类小硬件也支持。 但是钉钉不断的升级能陆续检测这类定位修改软件。

    2. 远程控制 todesk 、远程 adb 等,安卓手机无障碍可以免 root 远程操作,但是理论上可以检测。

    3. autojs 也是通过无障碍实现的自动操作,理论上可以监测。

    113 条回复    2024-03-07 16:35:26 +08:00
    1  2  
    ashuai
        1
    ashuai  
       283 天前
    有方便的不 root 的方法根据 定位+wifi 实现自动打开 app 到前台吗?总是忘记打卡 :|
    Puteulanus
        2
    Puteulanus  
       283 天前
    如果安卓手机外接一个 PiKVM 这种的硬件呢
    iOS 的虫洞靠把电脑模拟成蓝牙键盘鼠标来远程控制 iOS ,放一个 iOS 在办公室远程打也有可能
    docx
        3
    docx  
       283 天前 via iPhone
    @ashuai 丢个手机放公司就解决定位问题了吧,然后无障碍自动化点击打卡按钮
    walktewy
        4
    walktewy  
    OP
       283 天前
    @docx 无障碍的远程控制可以检测,(据说)在开发相关功能了
    grance
        5
    grance  
       283 天前
    买个小机械臂,远程控制去点击操作。
    javen73
        6
    javen73  
       283 天前
    iOS 多巴胺越狱,改定位之后,再用越狱屏蔽插件。免越狱的改定位还是会被钉钉检测到
    chaos93
        7
    chaos93  
       283 天前
    让保洁阿姨,帮你打卡,手机丢在公司
    dinghmcn
        8
    dinghmcn  
       283 天前   ❤️ 1
    备用机放公司一直开着,钉钉保持前台,打开自动打卡,这个应该可行
    archxm
        9
    archxm  
       283 天前   ❤️ 3
    我觉得,上班,这种商业化的东东,还是老老实实吧
    你今天研究这个,就是迈出了作恶的第一步了
    broken123
        10
    broken123  
       283 天前
    都是卵的 直接放一个备用机或者测试机放到公司就行了。然后直接在其他地方远程操作这个手机打开 打卡就行了。我之前有个公司必须钉钉连接到前台的蓝牙打卡机才能打卡成功 这个是最恶心的了。 直接用我这个方法 不需要 root 那么麻烦。直接远程操作手机就行了 有这种 app. 随便你丁丁怎么检查 都不行。除非你在打卡的时候加上人脸活体检测。那就没得法了
    dinghmcn
        11
    dinghmcn  
       283 天前
    小米手机的自动任务可以定时开启应用,手机不设置锁屏,钉钉开启自动打卡这个应该可行;下午下班试试
    acbot
        12
    acbot  
       283 天前
    如果人脸识别打卡怎么破?
    walktewy
        13
    walktewy  
    OP
       283 天前
    @Puteulanus
    PiKVM 、虫洞外接鼠标键盘安全系数确实高不少
    walktewy
        14
    walktewy  
    OP
       283 天前
    @grance 坦白说白了,在开发...等完成了开源出来
    gav1nvv
        15
    gav1nvv  
       283 天前
    安卓虚拟机 模拟定位不行吗?
    walktewy
        16
    walktewy  
    OP
       283 天前
    @chaos93 社会工程学入侵...
    walktewy
        17
    walktewy  
    OP
       283 天前
    @javen73 理论可行,但是不确定被检测的风险
    garlics
        18
    garlics  
       283 天前   ❤️ 2
    钉钉有个很狗的点就是你前端看到的是正常打卡,但是管理端可以看到你此次打卡异常,还是别用技术挑战制度了。
    walktewy
        19
    walktewy  
    OP
       283 天前
    @dinghmcn 就是这个「自动打开」,需要安全的方案...
    walktewy
        20
    walktewy  
    OP
       283 天前
    @broken123 刚刚说啦
    1. 不谈越狱 root 的话,只有安卓可以通过无障碍实现远程控制(不外接设备),这个是有检测的风险的
    sunmacarenas
        21
    sunmacarenas  
       283 天前
    安卓上用 MacroDroid 设置定时任务自动打开钉钉,然后用钉钉自己的极速打卡,实现远程自动打卡。
    walktewy
        22
    walktewy  
    OP
       283 天前
    @archxm 道理是这个道理...
    walktewy
        23
    walktewy  
    OP
       283 天前
    @gav1nvv 通用的虚拟机太好检测了,自己魔改虚拟机没有这个能力...
    walktewy
        24
    walktewy  
    OP
       283 天前
    @garlics 嗯啊,我有这个后台权限,所以在聊技术的上限怎么实现无法检测(不算活体)
    walktewy
        25
    walktewy  
    OP
       283 天前
    @sunmacarenas 没开启极速打卡就不行呀
    g0o0gle
        26
    g0o0gle  
       283 天前
    家里电脑控制公司电脑 然后用公司电脑通过 scrcpy 无线控制手机会被检测么 我一直在用这个方案
    forQ
        27
    forQ  
       283 天前
    扔公司一部手机,写个安卓自动化脚本( uiautomator2 、appium 之类),定时打卡,还可以处理各种异常情况
    sunmacarenas
        28
    sunmacarenas  
       283 天前
    @walktewy 极速打开是个人选择开启或者关闭,你自己开启就可以了。
    javen73
        29
    javen73  
       283 天前
    @walktewy #17 我就这样打过卡... 我自己还开了个组织打卡去后台看了看,不开屏蔽就会被检测到作弊,开了没事。最好还是搞个无障碍脚本跑,每天打卡截图发 email 确认,舒服点
    murmur
        30
    murmur  
       283 天前
    我建议不要挑战钉钉,用钉钉的肯定有人力监控,抓到你自动打卡给你记录下来以后就是无偿开除你的证据
    Puteulanus
        31
    Puteulanus  
       283 天前
    @walktewy 去掉远程的功能的话,其实就是 badUSB 这种可编程的蓝牙/USB 外部输入设备,替代安卓的无障碍,可以做成尾插这种的。这方面感觉 iOS 可能有些优势,你没那么多权限搞花的,它也不一定有那么多权限检测你。。
    broken123
        32
    broken123  
       283 天前
    可以 自己写个脚本 adb 连接电脑 定时执行脚本 adb 命令就行了 。然后电脑 手机一直不关机那种 。一直亮着 不锁屏。这种属于成本最简单。adb 有模拟点击事件的命令 点几下就行了 so easy
    walktewy
        33
    walktewy  
    OP
       283 天前
    @g0o0gle 目前我了解到的信息钉钉不会对 adb 进行处理,不确定以后会不会。这是一个风险点,就像 30L 说的, [抓到你自动打卡给你记录下来以后就是无偿开除你的证据]
    walktewy
        34
    walktewy  
    OP
       283 天前
    @broken123
    @murmur
    目前我了解到的信息钉钉不会对 adb 进行处理,不确定以后会不会。这是一个风险点,就像 30L 说的, [抓到你自动打卡给你记录下来以后就是无偿开除你的证据]
    dinghmcn
        35
    dinghmcn  
       283 天前
    @walktewy #19 定时开启应用这是 miui 自带的功能,前台自动打卡这是钉钉自带的功能,不需要 root 和无障碍
    walktewy
        36
    walktewy  
    OP
       283 天前
    @dinghmcn 我了解一下,确实没用过 miui 设备
    broken123
        37
    broken123  
       283 天前
    你确定 可以检查到 adb 的命令么 ?Android 应用内部无法直接检查点击事件是否来自 ADB 。ADB 是用于与 Android 设备进行调试和通信的工具,它通过与设备建立连接并发送命令来执行各种操作。应用程序本身无法检测到点击事件的来源,无论是来自 ADB 还是其他输入设备。
    sunulin
        38
    sunulin  
       283 天前
    @g0o0gle 应该不会吧,scrcpy 怎么也是系统级别运行的, 两边手机都装上 tailscale 试试。 就不用那么费劲了
    Eiden
        39
    Eiden  
       283 天前
    人脸识别就加个 3d 打印的人脸(
    mazz
        40
    mazz  
       283 天前
    手机放在公司打开 adb 连上电脑开 scrcpy ,在家远程控制电脑,间接控制手机是否可行?
    walktewy
        41
    walktewy  
    OP
       283 天前
    @broken123 可以的,安卓有 InputEventReceiver ,可以拿到事件的来源
    developer.android.com/reference/android/view/InputDevice
    walktewy
        42
    walktewy  
    OP
       283 天前   ❤️ 1
    @mazz
    理论可以检测的,安卓有 InputEventReceiver ,可以拿到事件的来源
    developer.android.com/reference/android/view/InputDevice
    walktewy
        43
    walktewy  
    OP
       283 天前
    @Eiden 碟中谍?😄
    laqow
        44
    laqow  
       283 天前
    @archxm 除了人力密集型的工作打卡不服务于生产,只是方便记账和辞退时找理由用的
    docx
        45
    docx  
       283 天前
    @gav1nvv 看到是虚拟机就扣分了,假定位更是扣大分
    JamieChen
        46
    JamieChen  
       283 天前
    @walktewy #20
    怎么个检测方式?
    fatekey
        47
    fatekey  
       283 天前
    1 的话现在的主流解决办法应该是不升级,旧版的检测已经被研究透了,不更新新版就完事了,撑到钉钉强制升级不是问题。当然,也可以给你记录旧版钉钉签到,不过我觉得问题不大,不升级的大有人在。
    2 、3 无障碍就不说了,送人头。adb 的话, 看起来比较难检测,实际上 deviceId 特征明显。外接鼠标和 adb 情况差不多,能看出来点击来自外部设备。
    root 倒是可以做到几乎无法被直接检测的模拟点击,但也只是直接检测。实际上不少手游已经使用轨迹检测了,如果钉钉加上了上传轨迹的功能,那就很可能翻车,因为你就算模拟人类+随机轨迹,也不能保证阿里就找不到规律,他们可以默默收集轨迹,最后一锅端,如果考虑这种情况,那机械臂方案都不靠谱了(但是我觉得不会,钉钉应对远程打卡感觉挺摆烂的,很多游戏圈用烂了的方案现在也没上)
    zealer8
        48
    zealer8  
       283 天前
    @dinghmcn 理论可行,但是实践做不到,首先现在的安卓手机都最高只能支持 30 分钟熄屏,其次大部分也不愿意 24 小时充电亮屏待机就为了叮叮打卡,不然全天充电不出一个月电池就鼓包,我经历过
    odirus
        49
    odirus  
       283 天前
    我们这里是定期摄像头抽查,虚拟打卡就算作踩红线,然后开除,你看怎么破。
    jiekeop
        50
    jiekeop  
       283 天前
    @walktewy 没这么厉害吧,ADB 都能被检测?
    xmt328
        51
    xmt328  
       283 天前
    @walktewy #34 你如果考虑到这种黑暗森林博弈,那就算同事帮忙打卡,也可以调监控。实际生活中就算出现这种情况你就说钉钉误检测大概率事情就过去了,然后你再换其他方案就是。
    broken123
        52
    broken123  
       283 天前
    @walktewy 在使用 adb shell input 命令时,可以跟随以下参数来模拟不同的输入事件:

    text <text>:模拟文本输入。可以使用该命令将指定的文本输入到当前活动的文本字段中。

    keyevent <keycode>:模拟按键事件。可以使用该命令发送键码来模拟按下或释放按键。

    tap <x> <y>:模拟触屏点击事件。使用该命令可以在指定的屏幕坐标位置模拟触摸屏幕的点击操作。

    swipe <x1> <y1> <x2> <y2> [duration]:模拟滑动手势。使用该命令可以模拟从一个坐标到另一个坐标之间的滑动手势。

    draganddrop <x1> <y1> <x2> <y2> [duration]:模拟拖放手势。使用该命令可以模拟从一个坐标拖动到另一个坐标的拖放操作。

    roll <dx> <dy>:模拟滚动手势。使用该命令可以模拟在屏幕上进行滚动操作。
    =================================================================

    在安卓系统中,InputDevice (输入设备)是用于接收用户输入的硬件设备或外部设备。它们允许用户通过键盘、鼠标、触摸屏、触摸板、游戏手柄等设备向安卓设备输入数据或命令。InputDevice 的作用是将用户的输入信息传递给安卓系统,以便系统能够正确地响应用户的操作。

    通过 InputDevice ,用户可以在安卓设备上进行各种操作,如文本输入、导航、游戏控制等。例如,键盘和触摸屏可以用于文本输入和导航,鼠标可以用于精确的光标控制,游戏手柄可以用于游戏操作。

    安卓系统通过 InputDevice API 提供了对输入设备的管理和控制。开发者可以使用该 API 来检测连接的输入设备、监听输入事件,以及对输入事件进行处理和响应。通过 InputDevice API ,开发者可以编写应用程序,使其能够与各种输入设备进行交互,为用户提供更好的使用体验。
    olaloong
        53
    olaloong  
       283 天前
    @zealer8 开发者选项里可以开启充电时不灭屏,一直插电也可以用 scene 之类的软件停止充电,防止电池鼓包。
    ashuai
        54
    ashuai  
       283 天前
    你在不在主力手机上打的卡,一清二楚。

    ![]( https://article.biliimg.com/bfs/article/7a1198fbdb654559bf9c2d0e8427136b510670643.jpg)
    ferock
        55
    ferock  
       283 天前
    @walktewy #19

    有很多办法可以做到
    hzfyjgw
        56
    hzfyjgw  
       283 天前
    hamibot
    qazwsxedcla
        57
    qazwsxedcla  
       283 天前
    @zealer8 root 之后有很多自动控制充电的操作
    testcgd
        58
    testcgd  
       282 天前 via Android   ❤️ 1
    换家不打卡的公司不就好了吗
    walktewy
        59
    walktewy  
    OP
       282 天前
    @testcgd 主要是探索一下
    walktewy
        60
    walktewy  
    OP
       282 天前
    @ashuai 那就把它变成,主力手机 hhhh
    tailf
        61
    tailf  
       282 天前   ❤️ 1
    虚假打卡就是给了公司一个无赔偿开除你的理由
    uni
        62
    uni  
       282 天前
    在用尾插小硬件,目前这方面的被检测的情况怎么样呢?
    itianjing
        63
    itianjing  
       282 天前
    借楼问 2 个问题,一个是安装了“钉钉助手”、“捶捶”这类软件但是不开启虚拟定位,会不会被检测到以及后台提示;另一个是 root 条件下有没有更稳妥的方案
    wxg4net
        64
    wxg4net  
       282 天前
    @itianjing 1 )上证书,挂代理,拦截打卡定位解析请求
    opengps
        65
    opengps  
       282 天前
    公司给你设置上刷脸打卡你就哭吧
    LaGeNanRen
        66
    LaGeNanRen  
       282 天前
    楼上说备用机放公司抽屉的,提醒你们一下,这样会提示非常用设备打卡
    lynn000
        67
    lynn000  
       282 天前
    @ashuai 写个 auto 类似于计划任务(时间范围随机);把手机接 usb 常量 丢公司就行了
    Oilybear
        68
    Oilybear  
       282 天前
    之前的思路,硬核一点,帖子我好像还没删,有个老哥说自己干了好几年没问题。买台便宜点的 pixel ,把 android src code 那几个相关的 api 全部修改,和设备的驱动编译打包后,给你的设备刷上你定制的 rom ,既然大家都在 v 站了,方案可行性就不需要多描述了,上层 app 通过什么 api 企图调用硬件获取信息你都可以 modify 。
    GeT1t
        69
    GeT1t  
       282 天前   ❤️ 1
    前开发 DD 考勤反作弊的路过。
    oska874
        70
    oska874  
       282 天前   ❤️ 1
    机械臂+电容笔,模拟人工解锁手机-运行 app-打卡。
    shyrock
        71
    shyrock  
       282 天前
    你们这些小伎俩,妥妥就是送人头而已。。。经济不景气打工人还钻研怎么给资本家递刀子。。。

    钉钉有定位权限,很容易判定你是人机分离了。你问问资本家相不相信你每天凌晨还定位在公司?
    valord577
        72
    valord577  
       282 天前
    看看这个? https (dot//) m.tb.cn (斜杠) h.5gGu7xo (问号) tk=AazfWbZB6yy
    valord577
        73
    valord577  
       282 天前
    #72 (补充) 有些厂商和 teamviewer 合作的 在 play 上可以下载一些 add-on 插件 这样可以不通过无障碍方式控制手机
    erek
        74
    erek  
       282 天前
    越狱后最简单
    ykk
        75
    ykk  
       282 天前
    c2const
        76
    c2const  
       282 天前
    手机上攻防了解不多;
    1.ios 越狱应该比较稳,因为 ios 开发人员不会主动去越狱,真对抗到那步了,也是见招拆招 :(
    2.安卓备用机放公司,外接设备来打卡;但外接设备信息肯定是有痕迹的,想针对其实也不难 :(
    3.比较稳还是外上面说的远程小型机械臂+安卓/ios 备用机,完全不侵入手机的硬件和软件;想检测得增加人脸验证之类的 :)
    ---------------
    4.换个不打卡的公司 :)
    yanhuijun1996
        77
    yanhuijun1996  
       282 天前
    目前是 root+模拟定位+模拟蓝牙+ 真实刷脸
    vTwoX
        78
    vTwoX  
       282 天前   ❤️ 1
    一直以来都是备用机放在公司,不锁屏,快捷指令设置早上 8:30 打开钉钉,然后打开极速打卡
    TArysiyehua
        79
    TArysiyehua  
       282 天前
    来一个大家都会的方法:
    搞一台手机,一直连着公司的电脑,scrcpy 可以通过电脑直接控制手机。你只要能远程你公司的电脑,再操作电脑打卡即可。
    这唯一的风险就是,听说现在打卡会判断你的 ip ( gps 位置)是不是同一个,如果一直是同一个可能会有问题(不是绝对)。因为有的人就是习惯到公司座位再打卡鸭,有什么问题。
    设置你可以今天操作使用公司 wifi 打卡,明天操作使用手机的流量打开等等,不用任何命令和技术,大家都可以用的方法
    liuidetmks
        80
    liuidetmks  
       282 天前
    钉钉上,公司一天打 4 次卡,漏打卡一次一天白干。
    Ju22
        81
    Ju22  
       282 天前
    正在使用:钉钉 7.0.20 虚拟定位锤锤( https://github.com/Xposed-Modules-Repo/com.fuck.android.rimet

    尽量不要升级钉钉版本,目前使用一切正常
    rsyjjsn
        82
    rsyjjsn  
       282 天前
    我们是钉钉刷脸打卡,所以你的二三都不行,第一种表面看起来可以,但是同事给我说,钉钉后台有监测的,只要是管考勤不找你,但只要一找你一查一个准
    guanzhangzhang
        83
    guanzhangzhang  
       282 天前
    @Oilybear 帖子在哪里,我想看看
    whoami15111
        84
    whoami15111  
       282 天前
    刷脸打卡请忽略。

    需:
    硬件:安卓机+一台主机
    软件:adb 、windwos || macos

    1 、电脑设置定时任务( windows 支持可视化,而且还支持随机延迟,mac 用户写 plist ),电脑不能关机(尤其是 macos 用户,黑屏都不行)。
    2 、定时执行命令(这是我 mac 上的 sh ,windiws 用户看着修改环境变量):

    #!/bin/bash

    export PATH=$PATH:/opt/homebrew/bin

    date +"%Y-%m-%d %H:%M:%S"

    time=$(( RANDOM % 291 + 10 ))
    echo '延迟'"$time"'秒后执行'
    sleep $time

    #设备标识
    device="9fb66db8"

    echo "点亮屏幕"
    adb -s $device shell input keyevent 26
    sleep 1

    echo "解锁手机"
    adb -s $device shell input swipe 300 1000 300 300
    sleep 1

    echo "打开钉钉"
    adb -s $device shell am start -n com.alibaba.android.rimet/.biz.LaunchHomeActivity
    sleep 12

    echo "杀掉钉钉"
    adb -s $device shell am force-stop com.alibaba.android.rimet
    sleep 1

    echo "锁屏"
    adb -s 9fb66db8 shell input keyevent 26

    3 、scrcpy 。 如果你不放心是否打上卡了,可以用这个手动操作。
    allinschroe
        85
    allinschroe  
       282 天前
    目前在用方案,安卓+自动点击 app+极速打卡(打卡 app 自动打开)+定时运行,一直在稳定运行
    walktewy
        86
    walktewy  
    OP
       282 天前
    @Oilybear 这个太硬核一点了,并没有做 BSP 、AOSP 相关的工作和经验啊
    shiyuu
        87
    shiyuu  
       282 天前
    我还在用的 5.0 版本的钉钉,虚拟定位随便开,好几年了,每个月人事发出来的原始打卡记录表里我的都是正常的,只要这个版本还能用就不绝不升级
    mikaelson
        88
    mikaelson  
       282 天前
    @tailf #61 +1
    Kenyore
        89
    Kenyore  
       282 天前
    只要是可检测的都别碰。钉钉不一定会 ban 你,但是一定会推送异常提醒给你公司。别问我怎么知道的
    li746224
        90
    li746224  
       282 天前
    讨论那么多,被领导逮到一次不在工位不就 gg 了?
    amiaaaz
        91
    amiaaaz  
       282 天前
    @broken123 #10 你说的蓝牙打卡也有办法,做考勤机的蓝牙设备不一定加密,用备用机+nRF 就可以了,当然加密的数据就是另一说了
    broken123
        92
    broken123  
       282 天前
    @Kenyore 我就用模拟器打过一次 上面清晰的记录者 虚拟打卡
    hsiaochi
        93
    hsiaochi  
       282 天前
    等一个更新成美团骑手端的活体检测
    Oilybear
        94
    Oilybear  
       282 天前
    @walktewy #86 太简单的话,不就没啥门槛了。
    @guanzhangzhang 没有具体的方法,但是编译思路你可以参考晚上自编译系统的教程。之前调研到的内容
    LocationManager.java - gps 相关
    蓝牙、wifi 、相机这些可以自己找一些
    Torpedo
        95
    Torpedo  
       282 天前
    伪造打卡大部分公司都是红线行为
    Hallujah
        96
    Hallujah  
       282 天前 via Android
    你们钉钉打卡不用自拍加定位打卡的吗?我特么还没毕业第一个实习的单位,总共 12 个人,都要联接公司 wifi+自拍+定位打卡,一个月 4 次补卡机会...互联网大佬们的世界这么美好吗?
    lidedede
        97
    lidedede  
       282 天前
    公司楼下找个饭店,每个月给服务员 300 块,手机放他那儿。
    GKLuke
        98
    GKLuke  
       282 天前 via iPhone
    我自己玩过的,备用手机,开极速打卡,拿吃灰的树莓派,adb ,定时唤醒手机,打开钉钉,自动打卡,adb 截图,然后上传七牛 cdn ,再微信测试号,通知打卡成功,adb 按 home 回到桌面,再关屏幕。后来,公司开了人脸打卡,G
    ruoxiweb
        99
    ruoxiweb  
       282 天前
    用向日葵,root 后控制会被检测,用 todesk 远程,会被检测到……
    目前用 8266 做了个程序控制舵机点以下图标进去快速打卡解决
    ashuai
        100
    ashuai  
       282 天前
    @GKLuke 估计发现你不对劲,又找不到证据 loool


    18 点下班的时候试了下小米,不解锁手机没用,一解锁马上就被执行了。但如果我记得解锁手机,我就顺手把钉钉/企微点开了……鸡肋
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 04:13 · PVG 12:13 · LAX 21:13 · JFK 00:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.