电脑技术学习

改进的更换g808 v305内置铃声的新方法

admin
目前g808内置铃声的修改的讨论越来越热烈,虽然已经能够成功实现,但总的来说过程还是复杂一些,而且每次修改耗时较长(约10~20分钟),并且稍有差错就有可能出现无法开机等后果,我在第一次试验时就因为搞错地址而造成无法开机。所以这些天我一直在研究一种更简单方便的方法。经过几天摸索终于找到一种新的修改铃声方法。
根据网友七彩飘虫一开始修改铃声的思路,及与七彩飘虫、xyzhang等网友的一些探讨所得到的启发,我终于完成了单独置换内置铃声的方法,具体思路就是找到和弦铃声文件后,配合floader对写入文件的要求增加16字节对应的文件头。这样就能够将这个文件直接写进手机,达到替换铃声的目的。我这样替换任一首铃声由于只改写了铃声数据,不需要再写入大量的数据,写入时间一般在几秒钟就可完成,而且更改铃声的灵活性更好。七彩飘虫网友所提到的floader会增加写入代码的情况,我分析了铃声内部的文件头结构,刚好我增加部分的位置原来都是0,修改后不会影响到铃声,试验结果也证明了这一点。下面我以一个具体的实例来说明过程。
我以“母鸡下蛋”来代替“南斯拉夫舞曲”。
1、用ultraedit打开“母鸡下蛋.mmf”文件。用“HEX插入”操作在文件最开头插入16字节的数据。
2、修改这16个字节的数据为“88 1E 2E 01 01 41 2E 01 02 00 04 00 64 00 79 22”,这点非常重要,也是修改的关键。
其中第1~4个字节是写入手机的起始地址,也就是内部铃声文件头开始+0C(10进制为12,文件名的长度),参考我的g808内置铃声地址可得到南斯拉夫舞曲(内部名字为neoslavonic)的地址为2e1e7c+0c=2e1e88,手机内的数据是从0x1000000开始,所以写入地址为0x12e1e88,对应这4个字节即为 88 1E 2E 01。要替换其他铃声按相应的地址修改即可。
第5~8个字节为结束地址,为写入起始地址+铃声长度,起始地址为刚才得到的0x012e1e88,母鸡下蛋的铃声长度为2279(16进制),所以得到结束地址为012E1E88+2279=012E4101.
第9~14个字节保持这样不要改变。
第15~16字节为铃声文件的长度。也即我们要写入的“母鸡下蛋”的长度:2279。
4、这样就完成了文件的修改,将文件另存为“母鸡下蛋.bif”。
5、打开floader,文件名选我们刚才做好的“母鸡下蛋.bif”。选择write写入即可。
完成这些步骤后,马上就可以开机来欣赏我们的成果了。
总结一下我们只需要对mmf文件增加一个16字节的文件头,而且要确定的是1~3,5~7,15~16,8个字节的数据。然后按升级步骤做就可以了,既简化了步骤,又提高了速度和可靠性,同时也增加了灵活性。
原则上还是要用小铃声代替内置的大铃声,并且在使用内置铃声地址时要注意我给出的地址和铃声长度是指G808的V305版本,其他版本的手机和软件需要大家依照同样的方法去改。
希望对大家有所帮助,使大家的铃声能各有各精彩。欢迎大家探讨,更希望大家有好的铃声不要忘记发一个给我:lingf@netease.com!
特别感谢七彩瓢虫为大家做了那么多的贡献,同时也感谢xyzhang、桔子酸了等热心网友。