越狱iOS10.2.1,在安装 Frida 插件时,Cydia 界面出现了报错:
sub-process /usr/bin/dpkg returned an error code(1)
然后由于处理不当,动了 cydo 文件,导致后来新出现了code(2)的问题:
sub-process /usr/libexec/cydia/cydo returned an error code(2)
这两个解决的方案都有很多,这里就写一下试过的方法。
最后成功方法有很多问题,但是比较简单,code(1)原因是系统盘满了,那找个能删的系统盘文件:
用filza(ssh也行,能做到文件管理的都可以)进入 根目录 下Applications文件夹,删除掉不用的.app文件,可以删除iwatch、播客、ibook这些占用比较大(也只有10M左右)平时又不用的系统自带应用。删掉一些app文件之后,新的Cydia插件就能安装了。
需要注意两点:
1. 删除之后,对应的app就使用不了了,需要慎重考虑。(filza有回收站,保留回收站的文件可能可以恢复)
2. 目前 不确定在重启之后系统是否能够正常加载 ,这点后续验证过我再把结果放上来。---这个已验证了,没什么问题。
3. (更新)将iOS升级到12越狱,发现不再有系统盘分区这种问题了,应该以后也基本不会存在Code(1) 报错了。
首先参考了 [Q&A]Cydia for iOS7~iOS12 内各种红字拦巧、黄字常见错误解决方法全收录 ,得到的原因是系统盘空间已满。这个文章给的方法是卸载不用的 Cydia 插件,但我的插件简歼键都比较小并且大多都要用,所以考虑其他方法。
通过 Cydia 和 iCleaner的存储占用显示,推测 /private 或者 /private/var 是普通存储空间(手机安装的软件都放到了这里),而其他根目录下的文件都属于系统盘,所以找到了 /Applications,由于沙箱的存在,删除这些系统自带的 App 不会对其他应用的使用产生影响。
可能直接改换 Cydia 的安装路径才是最佳的选择,这改销个方法暂时没找到。
直接重装 Cydia ,步骤基本上完全参照了 重新安装cydia Cydia安装具体步骤 这个回答,两次重启+再次越狱的时候就解决了。目前最新版本 Cydia 是 cydia_1.1.30_iphoneos-arm.deb 。
code(2)的出现的原因可能是动了 cydo 文件(只针对我的情况),报错信息与 dpkg 运行权限有关系,查阅资料的时候也有人提到修改某些文件的权限(能够修复code2),但是描述比较模糊,直接重装可能最省心。
如果只是偶尔装一个插件,可以找到它的 deb 文件后用 ssh 或者 terminal 命令行安装,绕过Cydia;但 Frida 找不到 deb 安装文件,所以只能试着修复以上两个问题。
对越狱还不怎么熟悉,以上两个问题花费了比较长的时间,如果有不同的方法可以告知我一下,将对我有很大帮助,不胜感激~
一、什么是iOS?
iOS就是iPhone OS。iPhone是一部智能手机,在硬件之上部署了一套御袜或iPhone OS *** 作系统。这个 *** 作系统如同Windows CE和Windows Mobile一样。用一个对比就能非常容易地描述它们,即:iPhone OS( *** 作系统)之于iPhone(硬件平台),相当于Windows XP之于我们的x86、x64家用PC机,当然也相当于WinCE之于嵌入式硬件。
二、有锁版和无锁版有什么区别?
iPhone分成两种类型,有锁版和无锁版。有锁版就是加了网络锁,也就是绑定了运营商,比如美版的AT&T,英国的O2。这样的手机只能插入相应运营商的SIM卡才能使用,插入其他的卡则无法使用,大家通常管这种机器叫做小白。通常情况下,购买这种类型的iPhone是通过和某运营商签订一份为期1–2年的入网协议,绑定信用账户承诺月消费多少多少元,折价购机或免费送机。这种方式iPhone的手机费用已经折算到相应运营商的话费中了。如果想使用别的卡,那么iPhone就需要先越狱,再解锁。只有通过这两部过程,一部有锁版的iPhone才可以使用别家好闭运营商的卡。关于解锁,也分为硬解锁和软解锁,我们后面谈起。
无锁版也叫官方解锁版,比如港行或是阿联酋的无锁版(香港另有和记的“3”定制版iPhone)。这种手机一般价格都会比较高,但好处就在于任何一家运营商的SIM卡都可以顺利地帮助镇伍iPhone激活,并能够正常使用。它们只需要越狱,不需要解锁。
(如何解锁,百度查下)
iPhone 2G(一代)全部都为有锁版
三、什么是越狱?为什么要越狱?
越狱是指利用iOS系统的某些漏洞,通过指令取得到iOS的root权限,然后改变一些程序使得iPhone的功能得到加强,突破iPhone的封闭式环境。iPhone在刚刚买来的时候,是封闭式的。作为我们普通的用户,是无法取得到iPhoneOS的root权限的,更无法将一些软件自己安装到手机中。我们只能通过iTunes里的iTunes Store购买一些软件(当然也有免费的),然后通过Apple认可的方式(iTunes连接iPhone并同步),将我们合法得到的软件复制如手机。但这种方式就把我们广大用户牢牢地桎梏在苹果的管辖范围内。一些好用的软件,但并不一定符合Apple利益,它们就无法进入iTunes Store。比如我们无法在iOS上安装SSH,无法复制iOS中的文件,更无法安装更适合我们的输入法。这些软件,都需要用到更高级别的权限,苹果是不允许的。
为了能够更好地使用我们的iPhone,我们要越狱。越狱不是必须的,但越了狱的手机使用起来会更爽、更方便、更好玩。越狱后,能够免费使用很多软件,更能够使手机的易用性进一步增强。
四、什么是解锁?为什么要解锁?
因为有锁版iPhone的存在,我们如果想用其他运营商的SIM卡,就必须要解锁。如果不需要换运营商,当然不用解锁。但比如,对流到中国大陆的美版水货来说,不解锁那也不可能用AT&T,只能解锁。
解锁有两种方法,硬解或软解,软解的方法没放出来之前,都是硬解,最常见的硬解便是使用卡贴。如果不适用卡贴,还有一种终极的解锁方法,但这种方法只能由Apple官方来完成,因为我们不知道密钥。就像我们没有钥匙是进不去房间的原理一样,我们没有密钥,就无法全面而完美地解锁。在逐渐了解了 iPhone基带、NOR、固件等属于后,我们再来更加深入地讨论完美解锁这个问题。
通常说的破解,当是“解锁+越狱”的合称,对很多iPhone用户(尤其是中国大陆的美版iPhone使用者)来说,这两个都是需要(当然还是那句话,越狱不是必须,只是更好玩)的,所以很多破解方式就将解锁和越狱的方法放在一块,提供给大家。
五、什么是固件?怎样更新固件?
固件是iPhone存储基础iOS和通讯模块实现软件的`载体,相当于电脑的 *** 作系统(如windows xp)或功能更高级BIOS。没有固件,iPhone只是一部没有大脑的硬件,就相当于我们买来一台电脑没有 *** 作系统。固件可以认为是 *** 作系统。
更深入地看,iPhone的固件分为应用部分和基带部分。应用部分主要指的iOS的iPhone OS *** 作系统,而基带主要就是iPhone通讯系统。两部分加起来,合成为一个xxxx.ispw文件存在,行程了一个iPhone的固件。
更新固件就相当于重新安装 *** 作系统,是通过iTunes里面的“iPhone固件恢复”的方式来完成的。在3GS之前的iPhone一代、二代手机,由于没有足够的安全措施,我们可以直接下载Apple的固件软件(xxx.ipsw)然后恢复。但是在3GS及以后的版本,就不能这样恢复了。因为对于一个从网络上下载的固件来说,我们完全可以修改它们内部的内容直接越狱,这样苹果当然是不干的。在3GS加入了加密方式后,我们如果想恢复固件(或称之为更新固件),那么就先要到苹果的激活服务器上去检查,我们即将要恢复的固件软件(xxx.ipsw)是否来自于苹果官方。他们会检查这个固件的签名。如果不是官方的,那么对不起,用户不能恢复该固件。这就印出了下一个话题,及SHSH及自己搭建苹果固件恢复认证服务器。
六、什么是ECID?什么是SHSH?如何备份SHSH?怎样能恢复到原先的iOS版本?
引入这个话题的根本原因是:,苹果公司禁止你使用老版本的固件。一旦你“升级”后,就不能“降级”了。他们一般会在你选择恢复老版本固件的时候,让 iTunes收到一个拒绝实施这项恢复 *** 作的命令,从而阻止你这么做。要知道,现在的固件都是签过名的,并且使用只有你的设备才具有的、全球唯一的标识符 (也就是ECID)来签名。苹果公司使用“仅此一家”的方式将对应版本的固件文件以及你的ECID一起生成一个哈希值。iTunes会收到这个哈希值,并发送给你的设备。当你的设备收到后会立即检查并核实签名(确保这个固件的确来自于苹果公司官方。加密算法非常繁杂,实践上暂时无法被破解)。如果签名匹配,才会继续进行固件恢复 *** 作如果不匹配,设备就会报错,恢复 *** 作也就中止了。
不过,我们要膜拜Saurik大神(Jay Freeman),现在我们知道该怎么“忽悠”iTunes了。苹果公司只提供“活跃”版本固件的签名。因此,一旦新版本固件发布,他就停止对老版本固件的签名。这就是你为何再也无法获得3.1.2版本的签名的缘故。现在苹果公司只为3.1.3版本(iPad是3.2版本)签名,直至下个版本固件的发布。很快,3.1.3(以及3.2)版本的固件签名将会成为历史,因为苹果只会为新版本固件签名(也就是只为iOS4签名,译者注)。当前这个版本很重要。如果你没有为你的设备(ECID)准备好对应版本固件的有效签名,你就没法再恢复到那个版本的固件了。这个问题会周期性地出现(每次固件更新后都会出现,译者注)。
因此,如果有一种机制,能够保存这个签名,我们就能绕过苹果公司而随意恢复各个版本的固件。如果你的设备越狱了,使用cydia,你的SHSH文件就可以保存好了。反之,如果你的设备没有越狱或者当前未能越狱,那真是天大的不幸,因为cydia只能越狱后才能使用。
ECID,即Exclusive Chip ID,就是iPhone3GS/iPhone4的身份z号,每一个iPhone3GS/iPhone4都有自己的独特的ECID。有了这个ECID,就能唯一确定一部iPhone。而ECID和我们按手机*#06#得到的序列号不太一样,虽然都能唯一确定一部手机。ECID是iPhone的唯一编号,而后者则只是针对iPhone的通讯模块的唯一编号。
SHSH实际上是ECID+iOS某个特定版本加起来行程的一个特征码。对于一部iPhone 3GS或是iPhone 4,想升级到某一版本,就需要到苹果的激活服务器去下载一个文件,来判断这个版本针对这部手机是否合法。而这个文件就是xxxx.shsh。
这个文件对与我们越狱十分重要,一定要将针对每个iOS版本的SHSH文件备份好,才能在某天苹果不让我们恢复到这个版本时候,自行搭建认证服务器,然后恢复老的、有漏洞的版本来越狱。
再啰嗦一句,ECID和SHSH的概念仅仅适用于3GS及其以上版本,iPhone一代和二代就不需要考虑了。
如何备份SHSH目前主要有两种方法。一种是手机越狱了有了Cydia,进入Cydia首页就能看到备份SHSH的内容(不过是英文的)。另外就是通过 TinyUmbrella这款软件。目前这款软件已经做得很出色了,iPhone连上电脑,就能够自动读取ECID编号,然后从Cydia或是苹果官方获取特定版本的SHSH。关于固件的恢复,也就是iOS的降级,我们仍然需要使用TinyUmbrella这款软件。导入相应的SHSH后,即可在自己本地的电脑上模拟苹果的认证服务器,也就可以恢复被苹果禁掉的固件了。
七、什么是基带?什么是NOR?什么是Seczone?什么是NCK?
基带就是iPhone的通讯系统,是用来控制手机通讯的程序,控制电话通讯,WiFi无线通讯,还有蓝牙通讯。iPhone有相关的通讯硬件,是需要靠基带这个通讯系统来驱动的,有了正常工作的基带,才能打电话、收发短信、使用3G功能。
当然WIFI除外。基带版本可以从iphone中设置->“关于本机”的调制解调器使用的版本号中查询到。iOS和基带相对独立,协同工作。基带升级后,很多软解就会失效,有锁版的iPhone便无法使用。而最严重的是,基带几乎无法降级。所以对于有锁版的手机来说,基带升级一定要慎重,一定要等破解后再升级。当然无锁版也要慎重对待基带升级。
NOR是flash内存芯片的一种。区别于Flash NAND. 但都是内存芯片。iPhone 的Baseband就使用这种flash。NOR就是存储基带所用的媒介。
Seczone是baseband的一个内部验证模块。是属于这个通信系统的。这个认证模块很厉害,除非是使用苹果特定私钥加密后生成的代码,其他内容一律会被阻止。这样基带便很难被破解。而且不能暴力破解。
NCK是一个解锁计数器。内部有一个有计数值。达到一定的数值。它将会把iPhone永久变成只能使用AT&T或其它国家合约运营商(注:这取决于你购买的国家)。
有了这些概念,我们就可以讨论完美越狱了。
关于完美解锁更深入的讨论:
八、怎么样才能实现完美解锁?
iPhone中baseband(基带)的资料都存在NOR里,是的,NOR里保存了目前baseband的状态,其中就有目前iPhone的解锁状态,iPhone出厂的时候,都给锁在ATT的网络里了。 到这里有些人想问了:那么我们把这个状态改成解锁,不就完美了么,是的,但是,问题是:
1,只有通过baseband的firmware,也就是baseband的 *** 作系统,才能读写NOR,而且NOR中seczone的控制及其严格,想要直接发指令写入,是不可能的。
2,baseband的firmware是Apple数字签名过的,意思就是说,只有Apple自己的1024位的私匙签名过的firmware,baseband才会运行。
3,最重要的一点,我们不知道要往NOR seczone里面写入什么,才能解锁,因为NOR seczone里数据都是加密过的,不是0就是锁,1就是解锁这么简单,每台iPhone的NOR在加密前可以是一样的,但是加密后每台都是不一样的,而且这个加密机制,也只有通过Apple的私匙才能算出来。
那么,想要达到完美解锁,需要怎么做?
实际上,你可以通过iPhone的minicom对iPhone的baseband发送指令,其中有一条指令,就是用来解锁的,而且我们明确知道这条指令是什么,就是: AT+CLCK=“PN”,0,“xxxxxxxx”
注意到后面那8个x了吗?那些x就是你的解锁码,unlock code,或者专业说法,叫做NCK、Network Control Key,这个key每个iphone都不一样,相信苹果应该是用某种随机机制生成了这些解锁码,然后和IMEI或者序列号挂钩,放在自己的数据库里,在将来,苹果官方提供解锁的时候,他们会通过你的IMEI或者序列号告诉你的unlock code,达到完美解锁。
但是你发送指令的时候,你的iPhone又怎么知道这个解锁码是对还是错的?如果iPhone需要知道对错,那么说明iPhone自己知道unlock code,所以我们能从iPhone里某个地方找到这个code,然后完美解锁,对吗?不对!
实际上iPhone NOR上保存的,是这个code经过某个特殊的算法生成的一个hash值,hash(code) ,而这个算法是不可逆的(就像MD5)。
通俗点说,我们可以这么想,Apple教会了iPhone一套暗号,告诉iPhone 1 = 鸭子 2 = 鸡 3 = 鹅,然后把暗号123这个unlock code编码成“鸭子鸡鹅”存放在Phone NOR里,这时候iPhone并不知道unlock code是123,它只知道如果别人告诉我123,我按照Apple的暗号算一下,如果算出来和”鸭子鸡鹅”一样,那么别人告诉我的code就是对的了。当然实际上这个过程不是这么简单,否则你一猜就能破译这个密码了,按照目前的计算机水平,把这个unlock code通过hash过的值逆算回来,几乎是不可能的。
那么,我们穷举行吗?不就是一个8位数嘛?我们从00000000试到99999999,总有一个对吧?这个方法理论上可以,但是实际上行不通,原因又两个:
1,按照粗略结算,关把这些1亿个指令发给iPhone尝试,就要35天,并且还不考虑iPhone算需要多久。
2,最关键的,iPhone的baseband NOR seczone中,有一个NCK计数器,一旦你尝试3–10次失败,你的baseband将会硬件烧死在AT&T上。
所以,目前来说,iPhone完美解锁,还没有,相信如果Apple不出大错误,也不会有,除非Apple到时候官方推出解锁,那才是完美解锁。
你好,建议你做如下 *** 作:1、先下载越搏早茄狱软件Absinthe 2.0.1
2、在越狱之前我们还是要备份自己的设备,首先将设备与电脑进行连接,在iTunes里面进行备份。在你连接的设备上点击右键,选择备份。注意,备份一定要进行设置,越狱过程中可能出现种种不确定因素,进行备份可以讲越狱的风险降低,同时越狱速度也会快一些。
3、为了让越狱过程稳定而顺利的进行,建议大家将设备恢复出厂设置后再进行越狱。这个过程需要在手机上进行 *** 作,在设置-通用-还原里面选择抹掉所有内容和设置,这个 *** 作会让你的设备恢复出厂设置。
4、接下来就是越狱工作了,在此过程中请确保iTunes已经关闭。将安装包内的文件解压,打开Absinthe 2.0.1并且保证设备的USB链接你的电脑,点击Jailbreak后请保持等待,在越狱过程中一定不要断开你的设备,如遇重启,不用管基察它,继续等待。
5、整个过程历时6-8分钟,期间设备会自动重启睁前,我们无需 *** 作、只需等待。最终Absinthe界面上显示“Done,enjoy!”这就表示已经越狱成功。再看看Cydia是否已经出现在你的设备中?如果有,现在你已经得到一台完美越狱设备了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)