古詩詞大全網 - 個性簽名 - iOS:在非越獄手機上進行Hook註入

iOS:在非越獄手機上進行Hook註入

1.準備好壹個自己寫的app,用adhoc的證書打包

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安裝到手機上即可

我中間也走了很多彎路,主要是證書的混淆,最好在鑰匙串裏其他沒用的證書都刪除了,留下自己要打包的這個證書。已經盡可能的詳細說明,有問題可以留言!