美文网首页
Dylib 注入

Dylib 注入

作者: Superman168 | 来源:发表于2018-07-23 18:01 被阅读0次

准备工作:

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

动态库 配置

  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

要吐血了!!!

相关文章

  • iOS App MachO注入 - Dylib注入

    iOS App MachO注入 - Dylib注入 dylib 注入 1. 新建TARGETS 2. 添加依赖关系...

  • Dylib 注入

    准备工作: 像往常一样,创建项目,创建脚本,引入固定的脚本。 动态库 配置 添加 动态库 (Dynamic) IO...

  • Dylib注入

    1. 创建Dylib注入项目,在.xcodeproj同级目录创建APP文件,放入微信ipa包,Build Phas...

  • 注入dylib

    开源选择 目前找到比较好的一个开源库是这个https://github.com/Tyilo/insert_dyli...

  • Framework注入&dylib注入

    一、framework注入 1、手动注入 1⃣️、创建framework 2⃣️、把yololib配置到/usr/...

  • Hook 无效,dylib注入不起作用

    .dylib 需要codesign进行签名,然后进行注入。

  • 百度网盘mac

    代码 一.生成动态库libPCS.dylib: 二.注入libPCS.dylib:先要编译出optool: Arg...

  • 11.Hook原理

    [TOC] 回顾 注入的相关要素: 注入的形式:利用动态库的特性进行注入,包括Framework、Dylib。可以...

  • IOS 非越狱代码注入(dylib)

    前言 由于dylib注入方式和framework注入方式很像,所以下面直接演示使用脚本来注入 首先代码注入思路: ...

  • iOS逆向009--代码注入、Dylib注入

    简介代码注入:静态注入、动态注入 动态库dylib其实是修改MacO文件,展开 Load Commands在Fra...

网友评论

      本文标题:Dylib 注入

      本文链接:https://www.haomeiwen.com/subject/ufndmftx.html