看场电影

越狱ipa通过Xcode注入静态库

2018-05-18  本文已影响286人  立志成为卓越逆向工程师的小仙女

上一篇文章介绍了通过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接的是你自己的路径

上一篇 下一篇

猜你喜欢

热点阅读