linux静态库逆向分析,越狱ipa通过Xcode注入静态库

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

PS:以下工程都是在重签名成功的工程中进行

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

framework注入

新建一个framework工程

c509a6c8dcf4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

新建framework.png

2.添加依赖关系

c509a6c8dcf4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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中 textHook和Frameworks是同级的。

textHook是app里的macho文件 Frameworks/zshHook.framework/zshHook是 framework的macho文件相对textHook的位置 (Frameworks/xxx.framework/xxx)

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

c509a6c8dcf4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

framework修改macho文件.png

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

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

dylib注入

接着我们介绍dylib的注入。

1.在重签成功的工程里的target中新增一个library

c509a6c8dcf4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

新增library.png

library默认是在Mac上的库,我们运行的是在iOS上,所以他们的架构是不同的,因此我们要修改dylib支持的架构。这个地方我们修改Base SDK 支持的架构就可以统一修改了。

c509a6c8dcf4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改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接的是你自己的路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值