# 05.dylib注入

## 一、分析MachO

可以发现系统动态库的路径是在系统下的

![](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F23d7d75c6f264c27b050c513e0e5ded54b3fcb93.png?generation=1620129081901432\&alt=media)

非系统库是在工程的相对路径中

![](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F31563f95ed02c746304cd13306a2de342c443dfc.png?generation=1620129081787423\&alt=media)

因为我们并没有源码，所以想要注入代码就要通过直接修改MachO文件来实现。

## 二、工&#x5177;***yololib***

在[利用Xcode进行重签名与调试](https://github.com/RyukieSama/RyukieDevGitBook/tree/7e62a87431cc22e494237a3bf0e1c4742485aea8/RyukieDevGitBook/%E9%80%86%E5%90%91/04.%E5%88%A9%E7%94%A8Xcode%E8%BF%9B%E8%A1%8C%E9%87%8D%E7%AD%BE%E5%90%8D%E4%B8%8E%E8%B0%83%E8%AF%95.md)中有提到如何使用脚本进行重签名，这里我们也可以通过修改脚本快速的使用工具进行MachO文件的修改。

结尾加上这一句：

```
./yololib "$TARGET_APP_PATH/$APP_BINARY" "Frameworks/你要注入的.dylib"
```

> 可能会遇到 ***./yololib: Permission denied*** 错误，为文件添加权限即可 ***chmod +x yololib***

## 三、准备自己的dylib

### 3.1 建一个`MacOS`的`Library`。

![1](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F3a5f61f7ee98feb5cb081d9b140af1b2e9e8ca2b.png?generation=1625752005944000\&alt=media)

```swift
@implementation RyukieHook
+ (void)load {
    NSLog(@"\n\n\n\n\n\n\n\n\n\n\n RyukieHookSuccess \n\n\n\n\n\n\n\n\n\n\n");
}
@end
```

### 3.2 修改`BaseSDK`为`iOS`

![](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F5f0327669d3d4594a52f0dc3379301a16e879eee.png?generation=1620129081862833\&alt=media)

### 3.3 设置编译时拷贝文件

![拷贝1](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F510841d722f850983c93e0477cf0b00166d34aa3.png?generation=1620129081829154\&alt=media)

![拷贝2](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F739c0b489ede938d65b5c7b693082233322be87b.png?generation=1620129081566524\&alt=media)

![拷贝3](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2F49ea948c1561e649f8273fc38d81adc21615993a.png?generation=1620129081690327\&alt=media)

运行注入成功！

![](https://4193904735-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI8JgbGh3U6X_oedqkm%2Fsync%2Fa05f7fa7f2aa496a382f7cda32b3435ff7a8bfcd.png?generation=1620129081568670\&alt=media)
