iOS:在非越狱手机上进行Hook注入


1.准备好一个自己写的app,用adhoc的证书打包


iOS:在非越狱手机上进行Hook注入_第1张图片

2.打包以后可以装在测试手机上


iOS:在非越狱手机上进行Hook注入_第2张图片

3.对这个ipa进行解压缩,得到一个app文件(先将.ipa重命名为zip,然后在解压得到.app文件)


iOS:在非越狱手机上进行Hook注入_第3张图片

4.显示包内容,查看原始包的内容


iOS:在非越狱手机上进行Hook注入_第4张图片

5.可以用命令行查看(注意当前路径). $otool -L YoungTest

iOS:在非越狱手机上进行Hook注入_第5张图片

6.安装iOSOpenDev


iOS:在非越狱手机上进行Hook注入_第6张图片

7.编写Hook,只在Hook1文件里写,其他文件均未改动

iOS:在非越狱手机上进行Hook注入_第7张图片

iOS:在非越狱手机上进行Hook注入_第8张图片

OSOpenDevDevice设置你设备的IP(例如:192.168.1.10).
iOSOpenDevInstallOnProfiling布尔值 默认为YES, 是否在build forprofiling的时候直接远程安装到设备上.
iOSOpenDevPath不要修改此项,是iOSOpenDev的安装路径.
iOSOpenDevRespringOnInstall布尔值 默认为YES,是否在安装后重启SpringBoard.
iOSOpenDev默认安装在/opt/iOSOpenDev里,在里面可以找到undocumentapi的头文件


8.把Hook1跟yololib都放到包里面(这个叫yololib的工具可以帮我们直接进行dylib的注入)


iOS:在非越狱手机上进行Hook注入_第9张图片

9.用yololib把hook注入到app里面
$./yololib YoungTest Hook1.dylib

iOS:在非越狱手机上进行Hook注入_第10张图片

10.检查一下,发现注入成功


iOS:在非越狱手机上进行Hook注入_第11张图片

11.注入成功以后把yololib删除,把_CodeSignature删除,把embedded.mobileprovision替换成自己的配置文件。(要在开发者账号里生成一套APP证书)

iOS:在非越狱手机上进行Hook注入_第12张图片

12.生成原app的配置信息(注意当前路径)

$ codesign -d --entitlements :- /Users/iOS/Desktop/ADHoc/Payload/YoungTest.app > sss.plist


iOS:在非越狱手机上进行Hook注入_第13张图片

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

如图所示


iOS:在非越狱手机上进行Hook注入_第14张图片

14.对整个app文件签名,根据刚生成的配置文件

codesign -f -s "iPhone Distribution: MingXing Yang (AX6366456P)" --entitlements sss.plist YoungTest.app/

15.HOOK注入已经完成,会退到上个文件,找到app,


iOS:在非越狱手机上进行Hook注入_第15张图片

16、通过iTunes生成ipa,在用iTool安装到手机上即可


iOS:在非越狱手机上进行Hook注入_第16张图片

我中间也走了很多弯路,主要是证书的混淆,最好在钥匙串里其他没用的证书都删除了,留下自己要打包的这个证书。已经尽可能的详细说明,有问题可以留言!

你可能感兴趣的:(iOS:在非越狱手机上进行Hook注入)