前段时间刚刚说了199刷机的简单方法,就有不少机友提意见说虽然刷音乐盒和个性化,但是会做音乐盒的高手也不多,怎么能保证每个bin都是我们自己喜欢的呢?其实也有办法,你可以对你的手机铃声进行单曲替换。方法也很简单。
首先给大家介绍一下指针的概念,当你用手机欣赏一个铃声时,你要在目录里选择你要听铃声的名字,而手机则要通过这个名字在整个内存中找到这个对应的铃声,那必然就有一个相应的地址与此名称对应,而这个地址就是指针。想替换单个铃声,只要把该铃声指向地址里的内容更换一样。说通俗点,101原来住的是小李,现在你希望的是去101能找到的是小王,那么方法就是让小王住进101而代替小李。101就是我们说的指针,小李就是原来的铃声,小王则是想替换进手机的铃声。
那么如何找到一个bin中各个铃声的地址和指针呢?方法很多,先给大家推荐一款软件:MMFMAN,这款软件可以识别100K以上的bin文件,而SAMSUNG DIY等其他软件是不可以的,这也是推荐他的原因。用MMFMAN打开你的手机bin文件(是大的bin ,不是你想换进去的单曲bin哦),可以看见所有的铃声及对应的最大长度,位移,第一地址等等,这些可都是重要的信息。这里的位移就是该对应铃声的首地址,而最大长度说实在就是铃声的大小,不过单位是字节,要换算成Kb的话只要用最大长度除上1024就可以估算出这个铃声所占bin位置大小,从而知道你可以替换的新bin的大小。(推荐替换的时候选的bin小于原来的bin,这样的话指针不会发生变化,如果你的新bin大于原来的bin,将会占了下个bin的位置,使下个铃声没有声音,因为指针都是指向首地址的。)
在这里我为了方便大家就附上X199的内置铃声地址表:
內置42個鈴聲:
铃声地址 027 : 00630000 - 006303B6 铃声大小: 951 无
铃声地址 028 : 006303B7 - 0063057E 铃声大小: 456 无
铃声地址 029 : 0063057F - 0063098A 铃声大小: 1036 无
铃声地址 030 : 0063098B - 00630EE5 铃声大小: 1371 无
铃声地址 031 : 00630EE6 - 0063146B 铃声大小: 1414 无
铃声地址 032 : 0063146C - 00631ECB 铃声大小: 2656 无
铃声地址 033 : 00631ECC - 006322F7 铃声大小: 1068 无
铃声地址 034 : 006322F8 - 006329C1 铃声大小: 1738 无
铃声地址 035 : 006329C2 - 006373EE 铃声大小: 18989 无
铃声地址 036 : 006373EF - 00638740 铃声大小: 4946 无
铃声地址 037 : 00638741 - 0063E3FF 铃声大小: 23743 无
铃声地址 038 : 0063E400 - 00644885 铃声大小: 25734 无
铃声地址 039 : 00644886 - 0064A22C 铃声大小: 22951 无
铃声地址 040 : 0064A22D - 00650426 铃声大小: 25082 无
铃声地址 041 : 00650427 - 00658291 铃声大小: 32363 无
铃声地址 042 : 00658292 - 0065D545 铃声大小: 21172 无
铃声地址 043 : 0065D546 - 00662715 铃声大小: 20944 无
铃声地址 044 : 00662716 - 00664B9B 铃声大小: 9350 无
铃声地址 045 : 00664B9C - 00669635 铃声大小: 19098 无
铃声地址 046 : 00669636 - 0066B9AD 铃声大小: 9080 无
铃声地址 047 : 0066B9AE - 0066F467 铃声大小: 15034 无
铃声地址 048 : 0066F468 - 00672DF0 铃声大小: 14729 无
铃声地址 049 : 00672DF1 - 0067ED8D 铃声大小: 49053 无
铃声地址 050 : 0067ED8E - 006866CE 铃声大小: 31041 无
铃声地址 051 : 006866CF - 0068CDF7 铃声大小: 26409 无
铃声地址 052 : 0068CDF8 - 006936E3 铃声大小: 26860 无
铃声地址 053 : 006936E4 - 00696180 铃声大小: 10909 无
铃声地址 054 : 00696181 - 00698BB7 铃声大小: 10807 无
铃声地址 055 : 00698BB8 - 0069AA86 铃声大小: 7887 无
铃声地址 056 : 0069AA87 - 006A1570 铃声大小: 27370 无
铃声地址 057 : 006A1571 - 006A4207 铃声大小: 11415 无
铃声地址 058 : 006A4208 - 006A6E1E 铃声大小: 11287 无
铃声地址 059 : 006A6E1F - 006AD33F 铃声大小: 25889 无
铃声地址 060 : 006AD340 - 006B04E0 铃声大小: 12705 无
铃声地址 061 : 006B04E1 - 006B3C9C 铃声大小: 14268 无
铃声地址 062 : 006B3C9D - 006B7B1D 铃声大小: 16001 无
铃声地址 063 : 006B7B1E - 006B8F0F 铃声大小: 5106 无
铃声地址 064 : 006B8F10 - 006BE079 铃声大小: 20842 无
铃声地址 065 : 006BE07A - 006C166F 铃声大小: 13814 无
铃声地址 066 : 006C1670 - 006C2721 铃声大小: 4274 无
铃声地址 067 : 006C2722 - 006C3798 铃声大小: 4215 无
铃声地址 068 : 006C3799 - 006C51AD 铃声大小: 6677 无
鬧鈴:
铃声地址 069 : 006C51AE - 006C74AF 铃声大小: 8962 无
铃声地址 070 : 006C74B0 - 006C98D4 铃声大小: 9253 无
铃声地址 071 : 006C98D5 - 006D583F 铃声大小: 49003 无
铃声地址 072 : 006D5840 - 006D69FF 铃声大小: 4544 无
铃声地址 073 : 006D6A00 - 006DB3CC 铃声大小: 18893 无
短信:
铃声地址 074 : 006DB3CD - 006DB459 铃声大小: 141 无
铃声地址 075 : 006DB45A - 006DB54C 铃声大小: 243 无
铃声地址 076 : 006DB54D - 006DB6A9 铃声大小: 349 无
铃声地址 077 : 006DB6AA - 006E2479 铃声大小: 28112 无
铃声地址 078 : 006E247A - 006E33F4 铃声大小: 3963 无
铃声地址 079 : 006E33F5 - 006E36A9 铃声大小: 693 无
铃声地址 080 : 006E36AA - 006E38E8 铃声大小: 575 无
連接聲:
铃声地址 081 : 006E38E9 - 006E39DD 铃声大小: 245 无
铃声地址 082 : 006E39DE - 006E3C1F 铃声大小: 578 无
開關機聲:
铃声地址 083 : 006E3C20 - 006E3F86 铃声大小: 871 无
铃声地址 084 : 006E3F87 - 006E6483 铃声大小: 9469 无
现在具体介绍一下替换单曲的方法:
方法1.利用MMFMAN和WINHEX;
首先用mmfman打开你的整体bin文件,找到你要替换的铃声序号,记录后面对应的位移,即该铃声的首地址,应该是16进制数,转换成10进制数,再加上最大长度减去一(道理很简单的)得出他的结束地址,最后再转换成16进制数。用winhex打开整体的bin,选择编辑,定义选块,会出现一个对话框,提醒你输入开始地址和结束地址,只要对号入座即可。这时可以进行最后一步,复制,再次提醒你最好用比原文件小的bin,把想替换进去的bin再用winhex打开,按cotrol+A,全选;control+C,复制,然后进入整体的bin,在那个定义的块的开始地址处按control+B进行覆盖就完成了单曲的替换。
方法2.直接利用地址表进行修改。
如果你知道了你的bin的地址表,那就最简单不过了,只要用winhex打开想替换进手机的bin,control+A,control+C;然后用winhex打开整体的bin,找到你想替换的铃声的首地址,比如你想替换第一个铃声,首地址是630000,只要把光标移到630000处,按control+B覆盖粘贴就OK了!
最后给大家提个醒,不管什么方法,改过的bin的大小都要是7340032,如果不是的话千万不能刷机,切记!
不知道我写的这些东西大家能看懂么?我已经尽量说的详细,希望能给大家带来帮助。这篇文章也是我一晚上边想边写的,头也有点晕,如果有什么错误和疏漏之处,请高手们指点!谢谢。
有关修改铃声名称的方法,由于刷修改过铃声名称的bin有一定危险,所以先不介绍了,大家慢慢来,有空我再写吧,谢谢大家。