上次写的199单曲替换的方法是适合一些有基础的机友,写出来后也很多人在QQ上给我说太难了,看不懂之类的。现在我在这儿给大家做出一些解释,再给大家介绍一个简单并且容易上手的方法,希望能给大家带来帮助。
上次的方法其实并不是简单的替换单曲,而是对bin内文件的替换,很多机友可能确实是会刷机,但是真正明白bin文件的内部结构的并不多,所以看了那篇文章,纳闷就是在所难免的。
现在我给大家重新介绍一种方法,可以直接通过刷机的方法来替换单曲,只不过在一些参数上有改动。
先给大家介绍两个概念,所谓的Start address和Block count是指的开始地址和时钟系数:开始地址,顾名思义,就是你写入文件的地方。可以用mmfman方便的查找出来。而时钟系数是你写入文件大小(单位为Kb)除以64得出的数字,也可以理解我文件的大小,64即为1。比如你刷的是音乐盒文件,大小为7168K,那么除以64得到的就是112,即你的时钟系数为112。如果你想替换的铃声大小为128K,那么时钟系数为2,很简单,192K的时钟系数就是3了。知道了这些,大家刷机的时候就可以自己掌握这些参数,而不用死记他们了。
1.欲替换进手机的bin小于原来bin所占空间;(入门级)
这种情况很简单,很多高手也曾经说起过,完全和刷机的步骤一样,选择download type也是font(normal)。唯一的区别就是在刚才的那两个参数上,只要输入合适的即可。
2.欲替换进手机的bin大于原来bin所占空间。(高级,必须修改bin和指针)
这种情况比较复杂,需要修改指针,又要再次用到mmfman这个软件。抱歉的是我不是很会用友人的插入图片,只能用文字给大家介绍,有什么不清楚的请大家包涵。用mmfman打开你的bin文件后可以看到位移和第一地址。位移就是我们所说的铃声的首地址,而第一地址是该铃声指针存放的地方,以偏移量的形式给出。
首先用mmfman打开你的整体bin文件,找到你想替换的铃声位移(首地址)。再用winhex打开你想替换进去的铃声文件,按CTRL+A全选,再按CTRL+C复制,然后再用winhex打开整体的bin文件,在想替换的地址处按CTRL+B进行覆盖(这样BIN文件大小不会改变)。然后保存bin文件。
需要说明的是,如果你替换的铃声大于原来的空间,就会占到下个铃声的空间,导致下个铃声的指针错误,现在需要修改的就是你所替换铃声的下个铃声的指针。我再给大家介绍一下首地址和指针的关系。如果一个铃声的首地址是630000,我们把他两位分开:63 00 00,那么他的指针就是00 00 63(规则1),很简单吧?还需要注意的是每个指针之间要用00隔开(规则2)。
现在用mmfman打开保存好的新的bin文件,找到刚刚替换铃声,不过需要修改的是这个铃声的下一个铃声的指针,你会发现他的地址和指针不符和我上面说的那个规则1。修改的方法如下:在winhex里,按ALT+G(转到偏移量),输入替换过的那个铃声的第一地址,可以看到他的指针00 00 63,注意规则2,所以在00 00 63 00后的XX XX XX就是我们需要修改的指针,还是规则1,如果地址为AB CD EF,那么指针改为EF CD AB,修改后保存。
最后再用mmfman打开bin检查一下看看是不是都符合规则1,如果正确无误的话,恭喜你,成功了。如果你想替换多个铃声的话,只要依次修改到符合规则1即可。
由于本人也是初学,有什么错误疏漏之处请大家指出,也请大家原谅。希望我能给大家的DIY带来一点帮助。