起因是在虾神的公众号上看到一篇文章 《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重新签名成功