iOS4.1 运营商信息修改解释(Carrier.plist)

在iOS4.1越狱后,我们可以轻松的访问整个系统。我访问整个系统的方法是SSH。传文件用的filezilla。不高兴用scp。之前用linux,也比较熟悉。 这次起因是我发现在我的联通版iPhone4中没有看见之前美版3G一直都有的蜂窝数据网络设置。实际是iOS对于已知的运营商采用了系统预置的配置,不让用户修改了。本文的目的也就是如何unlock这个菜单,同时因为在iOS系统中相应文件中还可以解锁语音信箱,所以本文也一并提一下。 一、打开APN设置(也就是这个蜂窝数据网络设置) 在iOS文件系统中,/System/Library/Carrier Bundle目录下有大量的目录,有数字方式命名的link文件也有以运营商名字命名的目录,其实这些数字link就是指向那些运营商名字的目录的。只是为了以运营商编号来查找起来方便。比如46001就是中国联通,460是MCC,也就是国家代码,01是MNC,也就是运营商的代码。此知识点详见Wiki http://zh.wikipedia.org/zh/%E5%9B%BD%E9%99%85%E7%A7%BB%E5%8A%A8%E7%94%A8%E6%88%B7%E8%AF%86%E5%88%AB%E7%A0%81 让后在目录中可以查看到了有文件carrier.plist,这是一个apple格式的.plist文件,在windows下可能有第三方的打开工具,但是我没有找到好用的(下载过一个比较小巧的,打开提示CoreFoundation init failed,没再试)。由于我之前安装过VMware,并且在其中装了snow leopard黑苹果。所以直接在macosx下提取了该文件,用apple的官方工具plistEditor Pro编辑的。该文件本质就是类似xml的树形结构,只是文件已二进制形式存取,不可用常用的文本编辑器来编辑。当然iOS中还有一个工具,可以转换,我也懒得去在iPhone上转成xml1格式再转会binary1了。所以建议有条件上MaCOSX的就最好,不行就找一个windows上的编辑器,实在不行只能麻烦点用那个命令行转了再编辑好再转到binary1格式吧。 新增加以下节点到本目录 <key>ASCIIFileNameRequired</key> <true/> <key>AllowEDGEEditing</key> <true/> <key>AllowMMSCEditing</key> <true/> <key>AllowMMSEditing</key> <true/> 二、打开语音信箱(VoiceMail) 修改已经存在的ShouldHideAllVoiceMailUI的值为NO 三、破解CommCenter 这两部做完之后将carrier.plist传回原来的/System/Library/Carrier Bundle/46001/(目录根据自己情况略变动)下面后还不行,因为iOS中对于这类文件有签名校验,如果你的文件作了修改签名没有修改的话系统是不会认的。所以这时我们需要hack一下CommCenter。这里在xsellize网站wortel帮我们搞了一个deb包。安装一下即可。 网盘下载 这个补丁是给iOS4.1的。之前这位仁兄还有4.01的补丁,我没有下载运行过,应该也很有效。也在xsellize论坛有。 下载了文件后也是先传到iOS中,然后ssh到iOS上运行 dpkg -i xxxxx.deb 即可。 此时reboot iPhone,等启动后到设置中查看蜂窝数据网络就可以详细设置了。同时在看一下电话程序中除了原来的 最爱联系人 未接来电 联系人 拨号盘 还多了 语音信箱。 关于语音信箱还需要运营商配合开通。详情请咨询10010或者10086。