Dylib 注入

准备工作:

像往常一样,创建项目,创建脚本,引入固定的脚本。

动态库 配置

  1. 添加 动态库 (Dynamic)
image.png

IOS 下已经没有这样的库了,framworks 代替了。

  1. 选择刚刚添加的动态库,编译:
image.png
动态库 文件目录

可以发现添加的动态库加载上了,但是是在 Debug 目录下的。

  1. 切回到工程目标,添加动态库的依赖关系,编译:
image.png
image.png

报错,但是细看可以看到查找的目录是在 Debug-iphoneos 目录下,肯定没有了,

image.png

解决方式:

  1. 把动态库拷贝到 Debug-iphoneos 目下。
  2. 修改工程动态库编译路径。
image.png

这个环境变量
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
在不同的 Target 下,是不一样的;
手动修改 $(BUILD_DIR)/Debug-iphoneos

动态库的 Products 目录 配置:

动态库的 Products 目录 配置

要选择相应的 Target 编译。

image.png

这时候 动态库就写入 Mach-o 文件中了:

image.png

配置 OK !
自我感觉修改路径着实麻烦,快被搞蒙蔽了,还是手动拖入/拷贝 来的快。

注入过程

上面动态库配置接下来就开始注入过程,其实有没有想到一个问题?
我们添加的动态库是什么架构呢?

先进入 App 包中,cd Frameworks ;

file libQCHOOK.dylib

libQCHOOK.dylib: Mach-O 64-bit dynamically linked shared library x86_64

x86 架构的。

注入:

注入 Mach-o 后,签名就破坏了,但是 编译,xcode 会帮我们重新签名 整个 App, 但是 Xcode 不会帮我们签名整个 frameworks / dylib, frameworks / dylib 在创建后编译时就需要签名了, Xcode 就不会再次签名,所以我们在 shell 中才需要对 framework 签名,签名后 注入 修改的是 Mach-o 文件,注入后,xcode 会重签名。

修改注入脚本:

# ---------------------------------------------------
# 7. 注入我们编写的动态库
echo "开始注入 📱📲"

# 需要注入的动态库的路径  这个路径每次修改 🌴📱📲🌴📱📲🌴📱📲🌴📱📲🌴📱📲

INJECT_FRAMEWORK_RELATIVE_PATH="Frameworks/libQCHook.dylib"
# 通过 yololib 工具注入
yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"

echo "注入完成 📱📲"

注入过程:

image.png

编译运行,两种不同的架构:

崩溃信息
更改架构:
image.png
image.png

但是仅仅更改这些还不够,一系列的都需要改,BaseSDK...

image.png

好吧,忽略掉上面繁琐的过程,还不一定成功,接下来才是真正??正确的修改步伐:

  • 修改上面的 BaseSDK,修改 为 IOS
Mac OS
iOS 架构
  • 接下来,第二步,修改 Code Signing identity 为 iOS Developer。

OK ,就这两步,搞定,其它的都不不要修改。

还有一个低级错误,添加 脚本时,别选错 Target 了,又是二的不行。

编译运行:

一直还是报错,

app 包所在目录中的
image.png
APP 包 中的 Frameworks 一直没有

一直没能找到为什么呢???

image.png

yololib WeChat Frameworks/ibQCHook.dylib

手动修改,添加进也不行,

image.png

要吐血了!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358

推荐阅读更多精彩内容

  • 简介代码注入:静态注入、动态注入 动态库dylib其实是修改MacO文件,展开 Load Commands在Fra...
    lukyy阅读 4,885评论 6 7
  • 下面本人自己试验成功的步骤。看到还有很多其他的步骤来达到相同的目的,根据自己喜好熟练度选择。 环境 theos 创...
    pipa阅读 3,013评论 0 2
  • 1. 创建Dylib注入项目,在.xcodeproj同级目录创建APP文件,放入微信ipa包,Build Phas...
    Fendouzhe阅读 1,189评论 0 0
  • Tweak打包dylib注入ipa重签名安装到未越狱手机上 在我上一篇文章第一次写Tweak,走进iOS逆向的世界...
    YxYYxY阅读 9,648评论 6 18
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 4,226评论 0 4