1.準備好一個自己寫的app,用adhoc的證書打包
2.打包以后可以裝在測試手機上
3.對這個ipa進行解壓縮苛茂,得到一個app文件(先將.ipa重命名為zip,然后在解壓得到.app文件)
4.顯示包內(nèi)容鸠窗,查看原始包的內(nèi)容
5.可以用命令行查看(注意當前路徑). $otool -L YoungTest
6.安裝iOSOpenDev
7.編寫Hook妓羊,只在Hook1文件里寫,其他文件均未改動
OSOpenDevDevice設(shè)置你設(shè)備的IP(例如:192.168.1.10).
iOSOpenDevInstallOnProfiling布爾值 默認為YES, 是否在build forprofiling的時候直接遠程安裝到設(shè)備上.
iOSOpenDevPath不要修改此項,是iOSOpenDev的安裝路徑.
iOSOpenDevRespringOnInstall布爾值 默認為YES,是否在安裝后重啟SpringBoard.
iOSOpenDev默認安裝在/opt/iOSOpenDev里,在里面可以找到undocumentapi的頭文件
8.把Hook1跟yololib都放到包里面(這個叫yololib的工具可以幫我們直接進行dylib的注入)
9.用yololib把hook注入到app里面
$./yololib YoungTest Hook1.dylib
10.檢查一下稍计,發(fā)現(xiàn)注入成功
11.注入成功以后把yololib刪除躁绸,把_CodeSignature刪除,把embedded.mobileprovision替換成自己的配置文件臣嚣。(要在開發(fā)者賬號里生成一套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文件簽名净刮,根據(jù)剛生成的配置文件
codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" --entitlements sss.plist YoungTest.app/
15.HOOK注入已經(jīng)完成,會退到上個文件硅则,找到app淹父,
16、通過iTunes生成ipa怎虫,在用iTool安裝到手機上即可
我中間也走了很多彎路暑认,主要是證書的混淆督暂,最好在鑰匙串里其他沒用的證書都刪除了,留下自己要打包的這個證書穷吮。已經(jīng)盡可能的詳細說明逻翁,有問題可以留言!