2.打包以後可以裝在測試手機上
3.對這個ipa進行解壓縮,得到壹個app文件(先將.ipa重命名為zip,然後在解壓得到.app文件)
4.顯示包內容,查看原始包的內容
5.可以用命令行查看(註意當前路徑). $otool -L YoungTest
6.安裝iOSOpenDev
7.編寫Hook,只在Hook1文件裏寫,其他文件均未改動
OSOpenDevDevice設置妳設備的IP(例如:192.168.1.10).
iOSOpenDevInstallOnProfiling布爾值 默認為YES, 是否在build forprofiling的時候直接遠程安裝到設備上.
iOSOpenDevPath不要修改此項,是iOSOpenDev的安裝路徑.
iOSOpenDevRespringOnInstall布爾值 默認為YES,是否在安裝後重啟SpringBoard.
iOSOpenDev默認安裝在/opt/iOSOpenDev裏,在裏面可以找到undocumentapi的頭文件
8.把Hook1跟yololib都放到包裏面(這個叫yololib的工具可以幫我們直接進行dylib的註入)
9.用yololib把hook註入到app裏面
$./yololib YoungTest Hook1.dylib
10.檢查壹下,發現註入成功
11.註入成功以後把yololib刪除,把_CodeSignature刪除,把embedded.mobileprovision替換成自己的配置文件。(要在開發者賬號裏生成壹套APP證書)
12.生成原app的配置信息(註意當前路徑)
$ codesign -d --entitlements :- /Users/iOS/Desktop/ADHoc/Payload/YoungTest.app > sss.plist
13.對Hook1, YoungTest ,embedded.mobileprovision文件進行簽名
youngstardeMacBook-Pro:Payload iOS$ codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" YoungTest.app/Hook1.dylib
youngstardeMacBook-Pro:Payload iOS$ codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" YoungTest.app/Sengled.mobileprovision
youngstardeMacBook-Pro:Payload iOS$ codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" YoungTest.app/YoungTest
如圖所示
14.對整個app文件簽名,根據剛生成的配置文件
codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" --entitlements sss.plist YoungTest.app/
15.HOOK註入已經完成,會退到上個文件,找到app,
16、通過iTunes生成ipa,在用iTool安裝到手機上即可
我中間也走了很多彎路,主要是證書的混淆,最好在鑰匙串裏其他沒用的證書都刪除了,留下自己要打包的這個證書。已經盡可能的詳細說明,有問題可以留言!