我之前寫過一篇文章《聊聊未越獄iPhone的虛擬定位》,介紹了iPhone虛擬定位的原理。然後就有不少網友動了心思,想用這個來進行釘釘打卡,比如萬一哪天遲到或者想晚點到公司,那就在家先模擬定位瞬移到公司打個卡。
但是也有不少「謹慎」的網友又不是很放心,在後臺問我,這個修改定位到底是否靠譜?釘釘打卡能否成功?有沒有什麼風險?
在這裡,我統一回復一下。
1、修改定位這個功能肯定是沒有問題的。這個也非常容易驗證,你修改定位之後,打開微信或者百度地圖,看一下當前位置就明確答案了。
2、釘釘打卡能否成功?在一定條件下是可以打卡成功的。釘釘作為一款幾億人下載的成熟產品,想都不用想,肯定是會有一套反作弊機制的。舉個最簡單的例子,如果你上一秒定位還在家裡,下一秒就定位到了公司進行打卡,你說釘釘的後臺會相信你有瞬移的能力嗎?
但是所有的反作弊策略都不能做到百分之百,攻與防是一個博弈的過程,也需要考慮成本收益,對公司來說只需要用可控的成本識別大部分常規作弊手段即可。
如果你確實需要用虛擬定位來釘釘打卡,怎麼樣來提高成功的概率呢?
(1)操作順序很重要。先關閉釘釘App一段時間,然後進行虛擬定位,定位成功之後再打開釘釘App打卡,釘釘打卡之後關閉釘釘,然後再關閉虛擬定位,所以最好養成「打卡之後就關閉釘釘」的良好習慣。這樣可以確保釘釘後臺拿到的定位信息不會存在從某個地方瞬移到公司的情況。
這裡說的關閉釘釘App是指完成殺死進程。從這個角度來看,iPhone要比Android虛擬定位打卡容易。因為iPhone只需要在後臺kill掉App就搞定了,而Android手機可能存在一些後臺服務比較難殺死。如果哪天釘釘做到足夠強大,跟一些國產手機廠商合作了,手機系統中集成了釘釘的後臺服務或者把釘釘後臺服務加入白名單,那釘釘反作弊就更徹底了。但是要跟蘋果達成這種合作就不太現實。
(2)關閉WiFi。如果我做這個反作弊系統,我除了校驗GPS定位之外,我可能也會看一下IP位址。連接公司WiFi,那分配的IP位址是在一個特定網段的。你連接家裡或者其他地方的WiFi,手機獲取的IP位址是不一樣的。所以乾脆關閉WIFI使用4G網絡會更保險。
不過使用4G網絡時,手機的IP也不是一成不變的,一般來說在同一個歸屬地(也就是同一個城市),只要手機不重啟或者不開啟關閉飛行模式,手機的IP位址不會變化。如果切換了城市,那手機的IP也會發生變化。所以,如果你想通過虛擬定位進行跨城市打卡,是很容易被識別的。如果哪天釘釘出了一個新規則,要求連接特定WiFi才能打卡,那就更難搞了。
(3)每次虛擬定位時,不用選擇同一個GPS坐標。正常情況下,手機定位的存在誤差的,尤其是在辦公樓裡GPS信號相對較差,漂移誤差會比較大,可能會超過100米。比如都是坐在你自己的工位上,不同時間獲取的具體GPS坐標肯定是不一樣的。所以進行模擬定位時,不要偷懶每次都選擇同一個寫死的GPS坐標,而是需要每次都適當做些偏移。如果你每次都使用完完全全一模一樣的坐標,那後臺要識破你就非常簡單。
3、因為我自己的工作不需要打卡,我也沒有使用過釘釘這個App,以上是我根據自己的知識儲備和邏輯推理得出的結論,僅供參考。
4、虛擬定位可能存在一些其他方面的風險。比如iPhone通過外設來定位,需要配套使用一個App來輸入模擬的定位信息。因為這個App是沒辦法通過蘋果審核在App Store上線的,所以一般都是使用的企業證書籤名。我們知道蘋果App Store審核還是非常嚴格的,不管是對私有API的掃描還是對各種隱私權限的管控都非常嚴格,而企業證書籤名的App就沒有這一步審查。比如我獲取通訊錄權限,獲取照片權限,把你的通訊錄和照片都偷偷上傳到我後臺伺服器是輕而易舉事情。所以,使用企業證書籤名的App時要格外慎重。
5、最後,小羅不建議大家使用虛擬定位來打卡。這種行為是否違法我不確定,但是至少這是一種不誠信的行為。公司要求打卡自然有公司的考量,你在這個公司上班就應該遵守公司的規定,如果你討厭打卡,那最好的方式就是換一家不用打卡的公司。