文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

9gmik1

http://www78564.xrbh.cn/com9gmik1/

相关列表
文章列表
  • 暂无文章
推荐文章
ios dylib里的xib怎么加载 苹果dylib怎么安装苹果手机怎么越狱「ios dylib里的xib怎么加载 苹果dylib怎么安装」
发布时间:2025-01-12        浏览次数:0        返回列表



文章目录

  • 预备条件
  • 导出越狱手机上的app包和自己注入的动态库
  • 导出自己写的tweak动态库文件
  • 查看依赖库
  • 执行命令查看程序依赖的动态库名字
  • 用machoview查看
  • 安装insert_dylib
  • 把动态库插入到app里
  • optool 代替insert_dylib 更方便
  • 查看自己写的动态库都依赖哪些库
  • 修改越狱动态库的加载路径
  • 给自己的动态库重签名
  • 对外面app包重签名
  • 把ipa包安装到手机上


本文假设你已经学会了在越狱手机上使用tweak给app添加自制的动态库.dylib

usb链接手机,登录root账户
使用下面工具查看要读取的app包目录

例如:

使用iFunBox到DeviceLibraryMobileSubstrateDynamicLibraries目录下查找你写的.dylib扩展名的tweak动态库文件

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios dylib里的xib怎么加载


例如我这里的是testCrack.dylib

先进入app包所在目录

例如:得到5个动态库

注意L要大写

打开 Load Commands里面的 LC_LOAD_DYLIB开头的都是动态库

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios_02


然后Load Commands段落的结尾添加LC_LOAD_DYLIB(自己的动态库),就可以注入自己的动态库了.一定要在结尾,否则被插入后面的位置就往后移动了.

地址
https://github.com/Tyilo/insert_dylib 下载好,以后选择release编译,然后把product文件夹下的insert_dylib 可执行文件,复制到 usr/local/bin 目录下,这样就可以在任意目录下运行了

  • 先把动态库dylib文件放到app包里,跟可执行文件放在同一目录,例如下面把testCrack.dylib 和可执行文件testCrackPwd放在同一目录

ios dylib里的xib怎么加载 苹果dylib怎么安装_插件_03

executable_path 意思是动态库就在可执行文件同一目录 --all-yes是自动替你输入2次y和回车
例如:

这种结尾没有 --weak的app加载找不到动态库会闪退,添加 --weak的不会闪退
例如:

之后在app包里会多出一个文件以_patched结尾

ios dylib里的xib怎么加载 苹果dylib怎么安装_逆向_04


把它拖拽到machoview里查看Load Commands段结尾,发现已经多了我们添加的动态库

LC_LOAD_DYLIB开头的,如下图:

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios dylib里的xib怎么加载_05


–weak 加载动态库找不到不闪退的是这样 LC_LOAD_WEAK_DYLIB开头的,如下图

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios dylib里的xib怎么加载_06

安装动态库

删除动态库

删掉 libsubstitute.0.dylib

添加/usr/lib/libstdc++.6.dylib

例如:testCrack.dylib

显示结果:

这里出现了3次 /Library/frameworks/CydiaSubstrate.framework/CydiaSubstrate (compatibility version 0.0.0, current version 0.0.0)
Cydia是越狱的动态库,其他的都是系统的动态库.

或者用machoview打开 testCrack.dylib
也会找到段落LC_LOAD_DYLIB(CydiaSubstrate)如下图:

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios dylib里的xib怎么加载_07


把这个越狱手机的动态库,从越狱手机上用iFunbox复制到app包里,如下图,虽然在iFunbox显示0b,复制到mac上就会显示真实大小150k

ios dylib里的xib怎么加载 苹果dylib怎么安装_插件_08


ios dylib里的xib怎么加载 苹果dylib怎么安装_ios_09


把app包里的_patched结尾的可执行文件覆盖原来的可执行文件

如下图:

ios dylib里的xib怎么加载 苹果dylib怎么安装_逆向_10

testCrackPwd_patched改成testCrackPwd

看上面CydiaSubstrate的路径,是越狱手机的路径,现在要把这个路径修改成跟自己的动态库动态库相同路径,使用下面指令,@loader_path是指被修改的动态库的路径是加载路径,表示自己的动态库和被修改的动态库是相同路径

例如上面的例子完整指令如下:

运行结果显示会让 testCrack.dylib的armv7 arm64 arm64e 的签名无效

使用machoview查看自己的动态库 testCrack.dylib,里面依赖的越狱动态库cydiaSubstrate里面的路径已经被修改了

ios dylib里的xib怎么加载 苹果dylib怎么安装_ios dylib里的xib怎么加载_11

因为刚才我们修改了自己动态库里面加载越狱动态库的路径所以,文件签名被破坏了,使用指令重签名,这个签名不能使用ios App Signer工具,ios App Signer只会对最外层的app包重签名.
获取证书id

得到结果,下面其中一行是我要的 前面的数字 是我要的id :
07CA4B77ED192A9294DB84EBD74BC5159793DF69

使用指令重签名动态库

例如下面:


ios dylib里的xib怎么加载 苹果dylib怎么安装_插件_12


生成新的ipa包

用爱思助手或者其他工具,安装ipa包到手机上,发现这个app会运行自己写的动态库.