-- 2016.09.15 --
補充自己砸殼加dylib的過程(詳細步驟見蝦神的hook項目,此處為補遺)
- clutch -i //在越獄機器上執(zhí)行吊圾,列出已安裝應用
- clutch -d 14 //14為我機器上pokemon go的編號
- 拿到ipa后提權
chmod 777 pokemongo
- 用yolo修改binary加載動態(tài)庫
注意當前5625ffd這個commit是最新的顶捷,但是這個版本不能處理32bit thin binary挂绰,看issue 3對代碼做修改后才行
可以用file命令查看自己砸殼后的包是什么架構(gòu)的
在yolo complete以后可以用MachOView加載一下binary看load section有沒有加載自己新添加的dylib
-- 2016.07.10 --
獲取本機signing identity列表命令
- 可以直接拿到名稱用于簽名步驟
security find-identity -v -p codesigning
-- 2016.07.09 --
Clone 蝦神項目
生成LocationFaker.dylib
- 打開工程,可以看到核心代碼就是hook了CLLocation的coordinate方法服赎,這里我們可以修改48/49兩行的坐標為任意不鎖區(qū)地點
- 修改code sign和證書葵蒂,建議使用通配證書這樣就不用修改bundle id了
- 注意Project和Target下的都要修改
- 這步其實修改不對也沒關系交播,保證能編譯成功就行,在生成以后還可以重簽践付,見重簽部分
- 編譯后提示找不到iOSOpenDev目錄
安裝iOSOpenDev
- 官網(wǎng)給的installer在跑到最后一步的時候提示失敗
- 官方github issue里給的解決方案太麻煩了秦士,要安裝一坨東西。永高。
- 搜到楊神的動手實錄發(fā)現(xiàn)可以直接手動執(zhí)行
cd /opt/iosopendevsetup/bin
sudo ./iod-setup base
// 可能是我機器 上還有8.1的SDK所以很快就安裝完了
- 重新build后重命名Product目錄下生成的dylib文件為libLocationFaker.dylib隧土,復制備用
更新ipa中的相應文件
- 先解壓pokemon_unsigned.zip,顯示app里的包內(nèi)容
- 用上一步中生成的libLocationFaker.dylib做替換
- 找到自己第二步中修改的證書對應的mobileprovision文件
- 方法是Xcode->Preference->Account->選擇相應的Team->View Details->在相應的描述文件上右鍵選擇Show In Finder
- 重命名mobileprovision文件為embedded.mobileprovision并替換Payload目錄下的文件
重簽名ipa
- 蝦神已經(jīng)準備好了fastlane重簽腳本命爬,在resign目錄下
- 執(zhí)行命令
sudo gem install fastlane
- 把pokemongo.app拖入iTunes曹傀,然后到Apps->My Apps->Pokemon Go->右鍵選Show In Finder找到ipa
- 修改Fastfile(我實驗下來文件中必須寫絕對路徑,否則提示找不到文件)
32行饲宛,ipa皆愉,填寫ipa絕對路徑
33行,signing_identity落萎,不會寫可以先寫一個"iPhone Distribution"亥啦,后期根據(jù)提示修改
34行炭剪,provisioning_profile练链,復制前面的mobileprovision到目錄下,并填寫絕對路徑
- 在Fastfile同目錄下執(zhí)行命令
fastlane ios resign
- 此時會提示Couldn't find signing identity并列出Available identities奴拦,選擇之前證書對應的項復制媒鼓,ctrl+c中斷執(zhí)行,再修改Fastfile對應項错妖,再重新執(zhí)行上述命令
- 此時可以用這個證書名重簽一次libLocationFaker.dylib來保證成功
codesign -f -s "iPhone Distribution: Your Company" libLocationFaker.dylib
- 當出現(xiàn)
fastlane.tools finished successfully ??
后目錄下的ipa就是重新簽名完成的了
發(fā)布到fir之類的平臺上安裝使用
- Done