注入工具的GitHub地址:
https://github.com/Tyilo/insert_dylib
1、准备如下所需内容:

2、cd到上图所示的目录下,执行以下命令行,提示输入后,输入y回车:

命令执行完毕之后会生成如下图文件:

然后将命令生成的目标文件替换为原可执行文件的名字,删除原可执行文件;
然后用另外的命令行工具otool来进行查看目标文件需要加载的库,命令如下图:

在命令执行完之后,会看到在最后有 name libHelloLib.dylib (offset 24),这个就是注入的我们自己生成的动态库

接下来需要修改动态库的安装名,命令如下:

然后在目标app/Content下,新建Frameworks文件夹,讲一开始生成的动态库copy进去,如图:

到此处已经注入并处理完成,当前的app处理未签名状态,如需签名,请使用签名工具codesign -options来进行签名;证书签名查询命令:security find-identity -v -p codesinging

最后验证上述操作,看是否将动态库注入进目标程序。


当看到有我们动态库中的日志输出,说明已经注入成功了。

注入命令中,命令行第一个参数问题参悟:
通过查看注入的代码得知,其实该参数就是在上述流程中修改name的路径,可以直接传入你设置的路径,后需不需要修改。
请查看注入的代码,非源码,只说明注入过程:

注:Apple的dyld开源地址 https://github.com/opensource-apple/dyld

图片没有显示,此文章作废!!!


挺住_彡锅
1 声望0 粉丝

心有远山不造作,静而不争远是非。