蚁集网 >iphone大本营 >讨论区 >贴子
iphone

iphone


Iphone 有问必答(225) 主题与软件专区(283) 3G IPHONE讨论区(125) 购机指南与交易(56) Iphone游戏专区(59) ipod综合技术讨论(68) iphone电子书下载专..(28) Iphone电影下载专区(44) 大本营水库(128) 大本营事务讨论(17)
你现在的位置:iphone大本营--iphone论坛--Iphone 有问必答--【教程】改变1.0.2的运营商Logo
Iphone玩机交流
楼主 主题:【教程】改变1.0.2的运营商Logo 08-7-8 13:58
面壁思过
专长:2679
汗水:35
0
送礼物给他 联系他
加入好友    访问主页
注:本贴仅用于1.0.2版固件。
对于1.1.1版的机器请看:
【教程】修改1.1.1的运营商Logo
iPhone在状态栏显示中国移动时只显示部分字符:Chin...,其他都给盖住了,非常不美观。可以通过给SpringBoard打补丁来显示定制的图像。原理是让SpringBoard永远只显示AT&T图标(不论实际的运营商是谁),这样只要修改AT&T的图标文件就可以显示自己定制的图像了。修改时要改2个文件:
  用于当背景是白色时的图:/System/Library/CoreServices/SpringBoard.app/Default_CARRIER_ATT.png
  用于当背景是黑色时的图:/System/Library/CoreServices/SpringBoard.app/FSO_CARRIER_ATT.png
所有图都必须是PNG格式的,可以使用透明背景,iPhone会根据状态栏的颜色自动选取相应的文件。
操作方法:
1、从iPhone下载/System/Library/CoreServices/SpringBoard.app/SpringBoard文件
2、用二进制编辑器(如Mac上的HexEdit,Windows上的WinHex)修改如下(不会改?后面有改好的下载):
代码:文件偏移(十进制)    原始值    补丁值
227452:              05       00
227454:              00       A0
227455:              0A       E1
这个补丁将程序中位于0x3887C位置的BEQ 0x38898指令改成了NOP指令,从而跳过了对运营商的检查,直接采用AT&T。
3、用SCP将修改后的SpringBoard文件上传到iPhone相应目录中,替换掉原来的文件(不要先删除再传,直接传上去覆盖)。
用Mac的用户直接到第5步,PC用户需要执行第4步,因为PC上文件没有运行属性,所以上传到iPhone的运行文件必须添加运行属性。
4、PC用户用SSH登录到iPhone上,将修改后的文件属性改为可执行:
代码:chmod +x /System/Library/CoreServices/SpringBoard.app/SpringBoard注意:在SCP复制文件到iPhone时,如果文件已经存在,通常会采用已经存在的文件属性的,但是有些软件可能不是这样的,所以为了保险,需要手工加运行属性。如果SpringBoard真的没有运行属性,下次你就无法启动,再想给它加属性可就非常麻烦了。
5、用自己的图标替换前面提到的2个文件(如果不替换将显示AT&T图标)
6、重启就可以了
已经改好的SpringBoard文件:


附件: Beijing2008.rar (2007-11-21 14:18, 7.61 K)
该附件被下载次数 122


附件: SpringBoard_patched.rar (2007-11-21 14:18, 241.55 K)
该附件被下载次数 91

我自己做的Beijing 2008图标:


图标显示效果

图片附件: Default_CARRIER_ATT.png (2007-11-21 14:18, 52.57 K)



图片附件: FSO_CARRIER_ATT.png (2007-11-21 14:18, 47.42 K)



补充一下原理:
这个SpringBoard的补丁跳过了运营商检查,未补丁前的程序流程是:
代码:1、是否AT&T?
是:转入显示AT&T Logo
否:转入2
2、是否Cingular?
是:转入显示Cingular
否:转入3
3、... ...
补丁后程序流程变成了直接在第一步判断后,不论成功与否都直接显示AT&T Logo。所以补丁后,只要替换AT&T的Logo就可以显示自己的Logo了。不过这样做的一个副作用就是:
程序不再根据不同运营商显示不同Logo,所以插入任何卡都显示的是同样的Logo,无论是AT&T还是中国移动,或者中国联通,结果的Logo都一样。在国外,漫游时显示不同运营商的功能也就无效了
  [推荐给网友]
蚁集网倡议:向地震灾区献爱心
本栏目共有225篇文章,属于iphone论坛频道
快速回复

您目前是匿名回复 登录| 注册

标题: * 标题字数必须少于30字
内容:
用户名: 您目前是匿名发表 登录| 注册
验证码: 看不清?点击图片刷新 看不清?点击图片刷新 匿名回复不能查看隐藏内容