Pokemon Go Hook 解锁地区实践

据说这游戏挺火的,但中国锁区,于是自己动手,但也踩了一些坑

准备

  1. Clone项目:PokemonHook
    解压PokemonHook的项目中的pokemon_unsigned.zip文件,获得Payload文件夹一个
  2. Clone项目:iResign
    直接获得iResignApp一个
  3. 登录Apple Developer Center下载XC Ad HocProvision Profile,用WildCard的就可以了
    PS:如果用指定App ID的Profile,重签名步骤需要修改Info.plist文件

覆盖embedded.mobileprovision

这步没什么好说的= =|||,直接把从Apple Developer Center下载下来的moblieprovision重命名并覆盖到pokemongo.app

重签名libLocationFaker.dylib

由于PokemonHook项目中自带了Hook dylib,就免去了自己搭建dylib的编译环境,很麻烦的...

  1. 打开Keychain找到自己的开发证书并双击打开详情,复制常用名称
  2. 执行命令codesign -f -s "开发证书常用名称" ~/Desktop/Payload/pokemongo.app/libLocationFaker.dylib
  3. 提示replacing existing signature重签名dylib成功

重签名Pokemon Go

  1. Payload文件夹直接拖进iTunes的应用中生成IPA
  2. 打开iResign并完成各项选择
  3. 重签名获得resigned.ipa

安装

  1. 打开Xcode的Devices
  2. 选择要安装的设备
  3. 选择IPA进行安装
  4. 如无意外,是安装成功的

然而!

我却安装失败了!!!
却安装失败了!!!
安装失败了!!!

Google了一堆,依然无法解决,然后过程省略10000字...

解决CFBundleExecutable specifies a file that is not executable

  1. 解压重签名的IPA
  2. 执行命令chmod +x ~/Desktop/pokemongo-resigned/Payload/pokemongo.app/pokemongo
  3. pokemongo.app直接拖入Xcode Devices下方的Installed Apps
  4. 安装成功!