越狱ipa通过Xcode注入静态库

上一篇文章介绍了通过Xcode对越狱ipa进行重签名。接着,签名成功后,我们肯定希望能注入一些自己的代码。接下来给大家介绍一下静态注入framework和dylib的方法。
PS:以下工程都是在重签名成功的工程中进行
==================分割线=====================

framework注入

  1. 新建一个framework工程
    新建framework.png

    2.添加依赖关系
    framework添加依赖关系.png

    接着我们可以在framework中随便写点代码,比如log一下,用作测试。运行程序

3.刚刚跟大家开了个玩笑,我们的代码并没有走。其实在app包中的frameworks文件夹下已经包含我们的framework了,至于为什么没有运行,这个涉及到MachO文件的结构,以后有时间给大家介绍。简单说一下,就是可执行文件中不包含我们的framework。

4.给MachO文件添加framework包的连接。这里需要用到一个工具yololib (工具大家自己上gitgub搜索吧)
>>>1. cd 到app工层目录下
>>>2. 执行指令
$ yololib textHook Frameworks/zshHook.framework/zshHook 在app中 textHookFrameworks是同级的。
textHook是app里的macho文件 Frameworks/zshHook.framework/zshHook是 framework的macho文件相对textHook的位置 (Frameworks/xxx.framework/xxx)

PS:这个修改MachO文件修改的是工程外面的APP路径下的


framework修改macho文件.png

5.运行工程。我们就可以吃🍺🍶🥜瓜子米了。

================分割线================

dylib注入

接着我们介绍dylib的注入。

1.在重签成功的工程里的target中新增一个library
新增library.png
  1. library默认是在Mac上的库,我们运行的是在iOS上,所以他们的架构是不同的,因此我们要修改dylib支持的架构。这个地方我们修改Base SDK 支持的架构就可以统一修改了。
    修改dylib的架构.png

3.修改dylib的签名证书,选择ios的开发证书
4.像上面那样给工程添加copy files
5.像上面framework那样给app中的MachO文件加入我们dylib的链接地址。最后运行!

============分割线==================
给看到最后的小伙伴一个奖励:
我们可以把给MachO文件添加动态库链接的方法写在脚本里,在上次脚本的最后加上一句

#-----------------------------
#7.注入动态库  xcode
echo "开始注入"
#yololib MachO名称 动态库相对位置
FRAMEWORK_PATH="Frameworks/zshHookFramework.framework/zshHookFramework"
yololib "$TARGET_APP_PATH/$APP_BINARY" "$FRAMEWORK_PATH"
echo "结束注入"

FRAMEWORK_PATH接的是你自己的路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容