您的位置:掌中宝资讯 - 使用技巧 - 【教程】最简单有效的1.1.1自定义铃声
【教程】最简单有效的1.1.1自定义铃声
日期:2008-09-08  人气:571   来源:网络收集

之前看到很多讨论1.1.1铃声的方法,基本方法都是从Rongtones.plist入手(包括iToner、SendSong、ModMyIphone方法等),欺骗iPhone认同自定义铃声,不过都有一个问题,就是有些铃声可以选取,就是没声音。这里提供一个方法,给铃声验证程序打补丁,简单有效,我试过几个铃声,包括之前用改Ringtones.plist不成功的,还没有发现没有声音的。

这个方法是由Elite Team提供的,感谢bgm370的逆向分析。
注意:不支持中文文件名(无声),感谢kit222指出这一点。

使用方法

下载这个打过补丁的文件:铃声补丁文件MeCCA.zip

解压后放到:
/System/Library/Frameworks/MeCCA.framework/

目录里面,替换掉原来的文件(检查文件属性,一定要有Execute属性),重启动就生效了。

铃声制作方法铃声需要用iTunes转换成.m4a(AAC)格式,然后名字改成:铃声名字<空格>.m4r。其中<空格>是一个空格字符,就是说在.m4r之前加一个空格。例如:

对于铃声:
代码:
Love is Blue.m4a

改名成为:
代码:
Love is Blue .m4r
这个空格非常关键,它是补丁用来判断是否需要采用AAC格式的依据。

改好后上传到:
代码:
/Library/Ringtones
目录中,立即就可以在Settings -> Sounds里面看到和使用。

如果你不想节约系统分区的空间,以下步骤可以跳过。

由于/Library/Ringtones是位于系统分区的,空间只有300MB,如果想存大量的铃声就难了。可以把铃声移到用户分区,然后在系统分区用符号连接指向用户分区。操作方法如下:

用SSH登录到iPhone(或者用MobileTerminal),然后输入以下命令(仔细检查后再输入,不要告诉我你不小心把系统文件干掉了啊):

代码:
mkdir ~/Ringtones (在用户分区建立铃声目录)
cp -r /Library/Ringtones/* ~/Ringtones (把所有铃声复制到用户目录)
rm -rf /Library/Ringtones (删除系统分区的铃声目录)
ln -s ~/Ringtones /Library/Ringtones (将系统分区的铃声目录指向用户分区)

不需要重启,改动立即生效,以后添加铃声既可以加到/Library/Ringtones,也可以加到/var/root/Ringtones,结果一样,都实际存放在/var/root/Ringtones目录中。

补丁原理

在1.0.2环境下,铃声是通过把.m4a改成.m4r欺骗系统认为是合法铃声来实现的。在1.1.1下,这个方法失效了,因为1.1.1不再支持用.m4a作铃声,而只采用经过保护的.m4r格式铃声。

这个方法是从MeCCA入手打补丁,原理是铃声验证打补丁,并插入一个特殊文件名检查,如果发现特定的格式(我们预先规定的),就告诉系统需要播放未受保护的AAC格式,从而使定制铃声成为可能。

补丁之前的程序逻辑是:

补丁之后变成了:

注意其中的:
代码:
CMP R1, #$0x20
这是这个补丁的关键。

标签: iPhone  苹果  
 浏览过此文的人还看过
  • 超简单的iPhone短信铃声DIY教程
  • 实用iPhone和Touch小窍门(一)
  • 利用iTunes在苹果iPhone/iPod touch上实现歌词功能
  • iPhone中文网软件源更新弹出错误解决办法
  • iPhone中文网软件源使用教程
  • iPhone免费软件安装客户端iBus使用教程
  • iPhone短信报告安装使用教程
  • 改iPhone默认密码SSH蠕虫病毒教程
  • [教程]iPhone/iPod touch全系列越狱软件黑雨blackra1n RC3使用教程Mac版
  • [教程]使用黑雪BlackSn0w越狱解锁iPhone 3G, 3GS(Win)(3.1.2)

  • 掌中宝下载 提供最新的智能手机软件游戏 PSP游戏等各种免费下载资源!
    版权所有 Copyright@ 2006-2008 http://www.mydown168.com All Rights Reserved. 网站地图