求助:手残改掉SystemVersion.plist导致无法越狱修复办法

需求:iPhone 6,手残改了系统版本号文件,越狱废了,但越狱文件夹下有80多G文件,现在就拿不出来了= =

真实系统版本:9.3.1(13E238)
当前识别版本:10.3.3(14G60)

找到的解决方法: 手残改掉SystemVersion.plist导致无法越狱修复办法

操作步骤: 参考这篇文章一步一步来的,编写dylib的工具是captainHookTweak(代码直接拷贝,加入fishhook的文件就能编译生成dylib),生成dylib后,用ldid给dylib签名(ldid -S myDylib),再用yololib工具注入dylib,结果用impactor重签安装后还是闪退。

问题:可能是什么原因?有办法通过调试或者一些什么信息确认闪退原因吗?或者有大佬直接能弄出不崩溃的ipa包吗 :pleading_face: 再或者还有其他方法拿到越狱文件夹下的文件也行。

下面是我建的captainHookTweak工程 + 原始ipa包
链接:https://pan.baidu.com/s/1FbY7qlvbEoWzLmEiaT8OPg 密码:fcx0

找个开源的越狱工具, 自己改改就好了

能越狱9系统的越狱工具,好像就只有一个 **jailbreakme**是开源的了,不过是基于网页的(看了下也有用到盘古的一些什么文件),这个怎么改?对网页什么的完全不懂。看介绍关键步骤似乎是第3步中的 Strategy selection

9好像没有开源的

:dizzy_face:

UIDevice 和 CFVersion 指的就是那篇链接文章中的两个接口吗?那.plist是?

也就是说SystemVersion.plist文件的读取,是通过_CFCopySystemVersionDictionary()函数实现的;
而[[UIDevice currentDevice] systemVersion]就是当前系统版本号的读取。
不过参考下uncover越狱,这个又是怎么说 :sweat: 好像这个工具不是开源的

emmm,那篇文章hook两个接口,应该就是可行了的,不再需要hook kCF或者uname的值,而且那边也有测试成功。感觉还是动态库的问题,就是不知道怎么调,看不到崩溃信息没法调试啊 :flushed:

怎么看崩溃信息:

  1. 直接控制台查看应用输出,参考 iOS实时查看App运行日志
  2. 附加进程调试,这样可以查看崩溃的堆栈信息,参考 Xcode 调试设备应用