求助:手残改掉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,.plist,还有一个CFVersion

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

我大概看了一下文章,文章中hook完了.plist文件的读取还有UIDevice的读取。

那么剩下来的大概就是CFVersion了。参考一下uncover越狱然后搞他

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

&(exploit_info_t)
    {
        .exploit = voucher_swap_exploit,
        .name = "Voucher Swap",
        .exploit_capability = jailbreak_capability,
        .exploit_reliability = high_exploit_reliability,
        .device_support_info.min_kernel_version = "4397.0.0.2.4~1",
        .device_support_info.max_kernel_version = "4903.240.8~8",
        .device_support_info.handler = ^bool (void) {
            if (get_kernel_page_size() != 0x4000)
                return false;
            else if (machineNameContains("iPad5,") && kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_12_0)
                return false;
            return true;
        },
    },

这是一个漏洞比较完整的适配属性值,你看下kCF还有uname的值可能还需要hook

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