2019年9月 对钉钉自动打卡的分析

钉钉加强了检测机制。目前测试如下:
ios免越狱
1.砸壳重签
仅hook获取bundleid(不然直接不能登陆),未修改任何定位,打卡时提示非官方客户端
2.砸壳保留原bundleid重签
未注入任何插件,直接提示请勿使用虚拟定位

hook js调用原生的getPhoneInfo等方法,依然无果。
经对比调试发现js调用原生获取了一段加密字符串,发送给了后台,非官方检测的信息很可能在这个里边。不知道加密算法的情况下,貌似没办法了。

iOS 越狱
官方版钉钉+tweak
目前网上的方法大多可用。

其他发现:
打卡页面为远程网页,检测机制会动态更新(没更新钉钉的情况下)。当然h5就算更新也只能调用原生中的已有方法。
修改index.js也可以实现更改定位信息,理论上影响更小。
但js代码数万行,类名部分混淆,难以阅读。

结论
ios免越狱打卡已不可行(除了用xcode)

目前模拟打卡的方法
1.公司放一个安卓,通过远程控制或模拟点击打卡
可使用teamviewer等
2.使用xcode虚拟定位,缺点是需要mac或额外硬件
3.越狱ios,官方版钉钉+插件(最方便,单手机即可)
4.wifi打卡:修改路由器mac和ssid,同时关闭手机定位。(理论上最安全)
5.公司放一个手机,结合极速打卡,使用tasker或ios捷径等唤醒钉钉,自动打卡。

未来防封——沙盒外虚拟定位
teamviewer、定时软件等,未来很有可能被钉钉检测。
急速打卡的功能,则有可能直接关闭。
两个方法可以长期防封:
1.ios上底层修改定位。(不注入钉钉)
2.安卓免root自编译rom,直接改locationmanager源代码,使其有返回指定经纬度的能力。将设定经纬度的入口方法藏在只有你一个人知道的隐蔽所在。将编译的ROM刷入手机即可。(推荐,刷入后不要开启root权限)

其他
切勿反复尝试,闹得欢,拉清单。打卡若被拦截,后台会有考勤安全记录,7天内显示在管理员首页,永久储存在“原始记录”里。ps:后台有“原始记录”栏目,会记录打卡的设备、经纬度、wifi、异常情况等信息。
另外分身版钉钉虽然不能打卡,可以正常登陆

我寻思你们折腾这些的时候就没想过说,我不知道,老老实实去上班?

其实一个月也用不了几次,重在■■的快感

哈哈哈 :ox::beer: 啊,胸dei

mark一下,最近在研究这个…发现不太适合新手?…

现在■■打卡这么难了吗,以前注入钉钉自己写个界面输入地址或者经纬度打卡,想怎么玩就怎么玩

越狱设备还比较好搞 不清楚未越狱设备重签名不修改bundleid钉钉是怎么校验的

检测的方式是在太多,你可以根据弹窗追溯回去,就会有意外收获。:slightly_smiling_face: