如果有密钥的话你就可以放心的下载对应版本的固件进行解锁了,以iPhone4S,A1387,ios704为例,我们需要下载的固件为iPhone4,1_704_11B554a_Restoreipsw,下载到电脑以后随便找个归档软件便可以打开,其实它就是一个普通的ZIP文件。解压后的大致目录如下:-rw-r--r-- 058-1077-002dmg
-rw-r--r-- 058-1108-002dmg
-rw-r--r-- 058-1124-002dmg
-rw-r--r-- BuildManifestplist
drwxrwxr-x Firmware
-rw-r--r-- kernelcachereleasen94
-rw-r--r-- Restoreplist
其中最大的那个文件就是ios的rootfs。
2,接下来要做是就是解密这个文件,首先第一步中的网址下找到这个文件对应的密钥,然后打开终端,输入命令:
cd [vfdecrypt所在的文件夹]
/vfdecrypt -i058-1108-002dmg -kda293860c6f7fe2d2e6c86275fa83a254b51bdf8303dbd1df70e39a8a13e4830353ecab8 -odmgdmg
复制代码
注意:这个命令和一般的linux命令有点不同,参数后面是没有空格的,如果输入空格,命令不会报错,但是程序会假死,也不会有任何文件输出。
3,上一步中生成的dmg文件已经是解密的了,但是还无法正常加载,它还是一个压缩文件,我们需要工具进行解压缩,在终端中输入以下命令:
/dmg extract dmgdmg dmg-rawdmg
复制代码
在这里本人遇到了一些问题,就是当运行这个命令时显示找不到对应的crypto的lib库,我在网上找了很多资料,但是都无法解决,最后只好自己编译了一下openssl,然后将生成的libcryptoa和libssla手动复制到/usr/lib目录下,在终端执行命令如下:
sudo cp libcryptoa /usr/lib
sudo cp libssla /usr/lib
复制代码
至于怎么编译openssl这里就不作介绍了,后面我会在附件里附上我编译好的库文件
4,接下来要做的就是在ubuntu下mount我们生成的dmg-rawdwg,在终端执行命令如下:
sudo mkdir /mnt/iphonedmg
sudo mount -o loop -t hfsplus /dmg-rawdmg /mnt/iphonedmg
复制代码
这时候我们就可以到/mnt/iphonedmg目录下找我们需要修正的文件了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)