打卡程序的工作原理与可行的作弊方法?|

[复制链接]
查看993 | 回复0 | 2022-12-25 21:56:18 | 显示全部楼层 |阅读模式
最近这段时间,老看到有粉丝在群里讨论寻找钉钉打卡的虚拟定位软件的事情。这就让我联想起经常看到网上看到的一句话:如何看待一个公司是否走下坡路了,就看这个公司是否严格实行打卡考核了。我觉得吧,用这句话来形容一个行业也是蛮贴切的。通信行业最近几年普遍开始严格执行打卡考核,这也应征这这个行业进入了暮年。说实话,挺悲催的。

好了言归正传,我们中国人常常有句话叫:上有政策,下有对策。但面对日益完善的高科技,我们真的有信心可能找到对策吗?

本人以前也协助过“万恶的资本家”设计过打卡程序,对于打卡和反打卡方面也算有一些研究。今天就来详细说说关于打卡程序的工作原理与可行的作弊方法。好让大家死了这份心。

首先来说说大家都知道的打卡程序工作原理。

像钉钉、微信企业号这类的打卡程序工作原理其实也蛮简单的。大多数人都能想象得到。不外乎,就是:利用手机里面的GPS定位功能获取当前的经纬度,再结合当前时间进行打卡。打卡时把经纬度和时间上传到服务器上进行记录。

其实,绝大多数打卡程序的大致工作原理就是这样。所以大多数人第一想到的就是:我去找个位置模拟软件,虚拟一个经纬度,传给打卡程序不就得了。

哈哈,问题真的这么简单吗?真要是这么简单,为什么大家还是苦苦寻找呢?之所以打卡软件搞得大家怨声载道,那么就说明它并不是这么简单的。

那它到底是怎么回事呢?

你以为的定位就是你以为的定位吗?

很长一段时间我们都以为手机里面的GPS定位功能就是搜素天上的GSP卫星进行定位并获取经纬度。但事实上,GPS定位对于民用级别来说它的定位精度大致在20~50米之间。这种精度连导航应用都会受限。除了美国的GPS,包括中国的北斗,欧洲的伽利略系统也都有这种问题。

为了提高精度,会用到很多辅助定位技术。他们有哪些呢?

1. 地面辅助站:

在早期,或者是一些专用领域,例如船舶导航等为了提高定位精度会在需要导航的区域建设一些地面辅助站,他们会和卫星一样发射定位信号,GPS接收机在接收卫星信号的同时,结合这些地面站点可以将定位精度提升到米级。当然这一类的地面站成本很高,肯定不会大面积建设的。所以你们不必担心他会影响你们的定位精度的;

2. 基站辅助定位:

做过通信的人都知道,但凡是手机,无论哪个制式,它在接收主服小区信号的时候会同时扫描周围的基站信号。大家想一想,如果我们知道每个基站的经纬度,同时也知道当前收到的所有基站的信号,是不是可以反算当前的位置呢?

这时肯定会有很多小伙伴跳出来说了,你撤吧。他怎么会知道每个基站的经纬度呢?这可是各大运营商的保密数据哦。确实,定位应用服务商确实不知道每个基站的准确经纬度,但是它根部就不用知道。它只需要知道当前位置的GPS定位信息,以及同时能收到那些基站的信号,和这些基站的信号强度,就能用算法形成一个位置“指纹信息”。下一次它收到相同的基站和信号强度的时候,就能大致知道这个位置在哪里了。这就是大数据的功劳。

看到这里也一定会有小伙伴跳出来说,程序员那有可能想到这些呀,这也太麻烦了吧。但事实却是残酷的,除了我们干通信的,程序们老早就在利用这些信息了。早在GPSA定位规范中就已经将基站信息收集功能写入GPS硬件模块,同时像谷歌、百度、高德、腾讯这些地图应用商都早已经拥有完整的全网基站指纹分布大数据了。只要开发程序员调用这些数据,你就能获取到。如果不信,你就想想是不是你在室内或地下室有时也能定位出大致的位置?这就是引入了基站辅助定位功能。恐怖吧?没完,还有呢。

3.蓝牙辅助定位

这个和基站定位原理类似,就是同步搜索附近的蓝牙信号进行辅助定位,当然不是所有蓝牙信号都可以的,毕竟大多数蓝牙设备是可以动的,所以他们识别一些专用的固定的蓝牙设备信号。例如苹果的iBeacon 等,这些都是专用于进行室内定位的蓝牙设备。他们的定位精度可以达到厘米级。如果不信?你们想想,钉钉是不是也有一种蓝牙打卡器?

4.  连续采样点惯性校准

前面提到了,单纯GPS定位精度其实是很难进行高精度导航定位应用的。但是实际应用中,我们的定位又都是连续性的。不可能你这个时候在这里,下一秒就跳到几十米开外吧。所以大多数定位模块都会根据使用者的运动规律,将多个GPS位置进行连续采样点校准。这个也是硬件级的功能哦。你想想,要是手机采集到的多个经纬度都是完全一样的,那想都不用想,你肯定在作弊。

看了上面的描述,你是不是心里已经哇凉哇凉的了?这还没完,还有彻底让你死心的技术。

你想不到的真人操作识别:

每一个手机里面都有至少3个运动传感器,也称陀螺仪。可以感知手机的运动方向和速度。我们经常看到的记录今天你走了多少步的程序就是使用的这种数据。一开始这种东西也是用来做辅助定位的,但是后来程序员发现了更加巧妙的应用。可以用来识别你是真人打卡还是软件打卡。

你好好想想,如果是一个真人在用手机打开,那么他绝不可能保持手机绝对不动吧,总会上下左右产生一点抖动吧。要是每次启动打卡的时候手机的传感器信息都没有抖动数据出现,那么就可以100%判断是软件进行的打卡了。这样就可以把那种通过远程控制或自动定时控制的软件给刷掉啦。

大数据下的虚拟打卡应用识别:

我们都知道,手机的应用程序是可以扫描手机里面已经安装的应用列表的。那么程序员很容易就能想到一种方法。直接扫描手机安装应用列表,以及当前运行程序列表。只要你安装了或运行了已知的虚拟定位应用程序,就说明你有贼心。这个时候就要特别关照你啦,嘿嘿。。。

而且他们还可以建立一个数据库不断更新虚拟打卡应用的列表。你说你只是装了,但没有使用,不管,反正宁可错杀一千也不放过一个。除非,你能自己编程自己写一个只有你自己使用的虚拟定位软件,否则你就等着被关照吧。。。

之前流传出来的那些所谓亲测有效的解决办法,只能说还没有被列入检测列表罢了。

当然你也可以说,我就设置权限不让它扫描我的应用列表不就行了?哈哈,这不就是代表你做贼心虚吗?人家就可以直接启动终极大招啦。

终极大招——人脸识别:

如果软件探测到疑似异常,例如经纬度和基站/蓝牙数据对不上;又或者是检测到疑似虚拟定位软件;或者是你每次打卡手机都放在那儿一动不动。。。。好了,打卡程序就会开启人脸识别功能,来识别是不是你本人在亲自操作。

要知道我们中国的人脸识别技术可以世界领先的哦。想要骗过人脸识别,这可是比登天还难哦。

办法只有一个:

反正你看了上面的描述以后,是不是想死的心都有了?首先可以肯定的是:虚拟定位程序已经被Pass啦;远程控制/定时操作应用也被Pass啦。那么也一定有不死心的朋友说,我不考虑成本,我就做个黑盒子。把手机放进去,屏蔽外面所有信号,然后模拟GPS信号,模拟wifi信号,模拟蓝牙信号,我再搞个运动装置模拟运动,然后我再花重金搞个仿真人的人头模型,模拟体温、模拟眨眼、模拟摇头、模拟张嘴。。。。。看看你还有什么办法。

好吧,你赢了。不过你要是真的能做到这一点,你所付出的成本,那还真不如去找一个不用打卡的工作来的容易一点。呵呵。所以亲测有效的办法就是:赶紧换个不打卡的工作!这可能是解决钉钉打卡问题的唯一方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则