修改手机内置铃声前提:
1、找出原内置铃声起始位置(4d4d4d440000起始处)及长度代码。
2、找出拟替换的铃声4d4d4d440000位置及长度代码。(看文件属性查长度代码)
3、具有升级手机的FLoader软件和数据线。(具体情况见宝典其他文章)
4、具有修改铃声文件的软件如:UltraEdit
具体修改办法如下:
1、以小铃声替换内置中大一点的铃声:例如:以“温暖的诗句.mmf”(9.48k)植入“1812序曲”(29.9K)内部前端(以代码4D4D4D440000开始替换),以“温暖的诗句3.mmf”长度更改原内置“1812序曲”长度代码(原为A177,改为4425),在“温暖的诗句.mmf”结尾处至少要有一个以上的一个00。
2、以大铃声替换内置的铃声:
以“眉飞色舞.mmf”(59K)植入“旋律2~晨曲”(合计:86.32K)的内部前端(以代码4D4D4D440000开始替换),以“眉飞色舞.mmf”长度更改“旋律2”的长度代码(原为7709,改为ceea),结尾处至少要有一个以上的一个00。
从以上成功置换内置铃声来看,可以写入的最大铃声为391K。
另外:在未找到了铃声指针位置并可以修改的情况下,不要变动原内置铃声的起始地址。否则,会置换不
成功!
为什么不能单独置换某个内置铃声呢?研究发现,FLoader在写入bif文件时会自动在指定的起始位置前面8个位置写上4D4D4D440000****,因此,要想替换铃声,则必须考虑其写入4D4D4D440000****与原内置铃声文件4D4D4D440000****相同,这一点是可以做到的。但是,在内置4D4D4D440000****的前面2个代码正好是mmf文件的长度代码,如何修改呢?
这种情况下可以采取两种办法解决:
1、不修改原内置铃声长度,只能以小铃声写入内置大铃声,剩余部分填入00(我未试验);
2、修改原内置铃声长度代码为新植入的铃声长度。如果直接修改铃声长度代码,问题就来了。因为,FLoader会在该代码的前面再次写入4D4D4D440000****,这样就造成一个铃声文件出现2次4D4D4D440000****,其结果肯定是不成功,还有可能造成上一个原内置铃声出问题。如何解决这个问题呢?根据网友lingf的成功经验我想到了从地址0x01000000开始读出,结束的地址为被替换的内置铃声起始位置加上拟替换的铃声长度,然后在读出的这段内容中修改铃声内容以及铃声长度代码,并重新写入手机内。因为是从0开始写,所以FLoader无法在0前面加上4D4D4D440000****(也有可能加在0x00ffffff处,但对手机没有影响,并且该位置是否能写入也没试验)。这样,就成功的修改了内置铃声,并可以将大铃声写入手机。
建议:为了修改铃声方便,修改前读出的内置铃声文件地址可以为:addr:0x01000000 size:0x61e71
虽然文件大一点,但在该文件上可以将每个铃声(只是针对手机中那20个铃声,不包括短信铃声等)都进行修改,也就是说,将该文件作为以后修改铃声的母体。如要修改其它的铃声,则要以我原来读出的v305.bif作为母体进行修改铃声。
说明:以上一些地址数据是以40和弦G808手机v305版为依据,其他版本以及G808e手机可以作为参考。
2003-05-29