缘起:感觉很多内置铃声不好听,而且听说wise修改了内置铃声,很好听,于是心动。。。。。。潜水,求助,经过430版主,wise,云河,xinshou等帮助,终于搞定,在此一并表示感谢!可以做到在原来地址替换原来的铃声,不会再占用别的地址
使用的工具和软件:ffmod(铃声提取),ultraedit(打开,查看,编辑bin文件),fullflashcomparer(flash比较),VK(刷机软件)。上述软件均可在论坛置顶汇总帖子找到下载。
下面说说步骤:
1,用vk读出目前我们手机的完整flash文件,复制一份,将这个复制的文件作为工作文件;
2,打开ffmod所在文件夹,找到配置文件ffmod.ini,复制一份以防万一,然后打开ffmod.ini找到[SLCK_55],这就是我们小8对应的配置:默认配置是这样的:
“[SLCK_55]
Size=600000
Index=44E526
Original=44C000,44C00C,44C028,44C03C,44C050,44C088,44C0D4,44C134,44C200,44C260,
44C2E4,44C324,44C3D4,44C430,44C460,44C660,44C960,44CA4C,44CD8C,44CE70,44CFCC,
44D094,44D20C,44D2B4,44D480,44D554,44D620,44DA74,44DA88,44DAA4,44DAD0,44DAEC,
44DB08,44DB60,44DC4C,44DD28,44DE24,44DF48,44E054(原39首内置铃声占用的起始地址)
New=570000,5703E8,5707D0,570BB8,570FA0,571388,571770,571B58,571F40,572328,572710,
572AF8,572EE0,5732C8,5736B0,573A98,573E80,574268,574650,574A38,574E20,575208,5755F0,
5759D8,575DC0,5761A8,576590,576978,576D60,577148,577530,577918,577D00,5780E8,5784D0,
5788B8,578CA0,579088,579470”(39首替换的铃声占用的新的起始地址)
我们重点要修改的就是这里“New=570000,5703E8,5707D0,570BB8,570FA0,571388,571770,571B58,571F40,572328,572710,
572AF8,572EE0,5732C8,5736B0,573A98,573E80,574268,574650,574A38,574E20,575208,5755F0,
5759D8,575DC0,5761A8,576590,576978,576D60,577148,577530,577918,577D00,5780E8,5784D0,
5788B8,578CA0,579088,579470”
ffmod,rainmoon等软件默认都是另外找新地址570000-5795b0这一段地址来存放新的铃声,原来存放铃声的位置闲置;这样就非常浪费空间地址。何况某些版本,如写斑,已经将这个地址段占用来存放动画屏保的图片了!我们现在地方法就是修改这个配置文件,使新的铃声文件还是占用原来的地址;而不是另外占用地址!
简单办法:新旧铃声完全使用相同地址!这样就把旧的地址“Original=”粘贴复制下来即可,即变成:
“New=44C000,44C00C,44C028,44C03C,44C050,44C088,44C0D4,44C134,44C200,44C260,44C2E4,
44C324,44C3D4,44C430,44C460,44C660,44C960,44CA4C,44CD8C,44CE70,44CFCC,44D094,44D20C,
44D2B4,44D480,44D554,44D620,44DA74,44DA88,44DAA4,44DAD0,44DAEC,44DB08,44DB60,44DC4C,
44DD28,44DE24,44DF48,44E054”(不包括括号),保存配置文件退出。
3,用系统自带的计算器计算每首铃声文件的长度;两相邻其实地址相减,即可得到(16进制)。小8内置铃声的长度分别是:
0C,1C,14,14,38(对应5首标准铃声);40,60,CC,60,84,40,B0,5C,30,200,300,EC,340,E4,15C,C8,178,A8(对应18首古典铃声);1CC,D4,CC,454(对应4首传统铃声);14,1C,2C,1C,1C,52(对应6首间隔铃声);EC,DC,FC,124,10C,4D2(对应6首流行音乐);从这里我们可以看出,标准铃声,间隔铃声分配的空间很小。
4,挑选准备换入的MID文件
原则:1,音质悦耳动听,是我们想换入的。2,文件大小不超过原来对应文件长度(需要将上述16进制的数字用系统自带计算器转换成10进制,这样才能与电脑中的mid文件比较大小);3,铃声长度不超过原来铃声长度。
将与原来匹配的文件挑出来,编号,例如,需要置入替换古典铃声第7首,我们就在mid文件前加个前缀“G7”,需要置换流行音乐第4首,我们加前缀“L4”,依此类推,把适合的mid文件准备好,单独放在一个文件夹。我根据原来地址长度,准备了17首准备替换进去。
5,打开程序ffmod.exe;载入(load)我们备份的flash文件,软件自动识别并加载我们修改过的配置;这时,我们可以清楚看到ADDRESS,NEW ADDRESS是完全相同的地址了,不会再去占用别的地址!
移动鼠标到我们需要替换的铃声文件上面(1-5标准;6-23古典;24-27传统;28-33间隔;34-39流行),双击NEW ADDRESS,选择打开我们用来替换的文件,重复这一步,把我们需要替换进来的文件都选择进来。最后点击“save”,保存,可以另外取个名字,保存得到2个文件,xx.BIN,XX-44.BIN
6,接下来,我就开始走了弯路,按照ffmod及前人的教程,经验,感觉应该把XX-44.BIN的内容刷进去;用ultraedit打开,发现地址不对;用rainmoon的辅助工具raining,将bin文件转成vkp,可能由于rainmoon软件设置原因,转出来的vkp还是占用570000地址段;想到把bin文件复制粘贴出来,整理,改动地址。。。。。。
也尝试将XX-44.BIN文件中相应原来工作文件中地址段的内容粘贴复制进去;然后用fullflashcomparer比较--得到的vkp吓死人!居然比原来的完整flash文件还大,达7-8M!失败!辅助工具转出来的vkp地址不对;大小倒是没问题;地址对应转出来的flash比较文件的vkp,则大得吓人。。。。。。
想到flash比较软件的使用;还有ffmod最后保存了一个与完整flash同样大小的文件,心中猛然一动!
将这个保存得到的xx.BIN与工作bin文件比较,得到一个约20k的vkp文件;
7,关机,用VK联机,刷入vkp(即使有问题,也可以撤销,呵呵,比刷入bin文件安稳)。开机,进入试听,呵呵,已经刷入啦!大功告成!
存在问题:部分铃声刷入后有些失真。和在电脑上听得效果有出入。
ps:可以用软件对mid文件进行处理,效果会更好!也可以截得我们需要大小的mid文件。时间有有限,我仅仅利用电脑中既有mid文件,以后,有时间,我会先处理好mid文件,做的更好。