起因是在蝦神的公衆號上看到一篇文章 《Pokemon Go 鎖區破解》 ,正好周圍幾個小夥伴正在玩這遊戲,便仔細研究了下所謂的破解鎖區。這次鎖區其實是 GPS 鎖區,遊戲開發商爲了縮小初始運營範圍,在中國範圍內都無法正常遊戲,也就是服務端通過客戶端發送的定位位置數據來判斷是否讓該玩家繼續遊戲。文章中介紹的原理就是利用 OC runtime Method Swizzling 對原應用進行重寫 CLLocation 的 coordinate 方法返回自己想要的經緯度信息,以達到欺騙服務端進行遊戲,然後進行重簽名打包。最讓人激動的是最終的應用可以在非越獄的設備上運行,於是已阻止不了向前探索的腳步。
遊戲作弊我是不支持的,但是技術研究可以有!
http://www.tuicool.com/articles/fABzqyM
Hook備註:
codesign -f -s"iPhone Developer: XXXXX" /Users/XXX/Desktop/libLocationFaker.dylib
codesign -f -s "生產證書" .dylib的本地文件路徑當出現 replacing existing signature 時說明 .dylib重新簽名成功