铃声的替换,已有很多文章了,这里只对更改铃声名称后的指针修改说一下。
如果你要改的铃声名字比原来的长,占用了下一首名字的空间,就要修改位移指针,下面就是我的修改方法,现在写出来与大家共享。
一、铃声名字的修改及指针的修改都在BIN2文件里,铃声指针的修改并不在BIN1文件里(有的文章说在BIN1文件里);
二、首先要记住原铃声的指针,原铃声的地址和指针分别是:(看地址的方法:将鼠标点在铃声名称的第一个字母前,看Hex Workshop左下角“偏移”后面的数字,就是铃声名称的地址。指针的代码在BIN2文件里是铃声的地址+80000得出的,可用16进制计算器计算)。
注意:铃声名称的修改有两处,因此,地址也有两处,指针也有两个,必须全部修改才行。
如:
铃声名称 地址一 地址二 指针一 指针二
芭蕾舞曲 429BE8 42C008 C29BE8 C2C008
爵士乐 429BF8 42C018 C29BF8 C2C018
泡泡乐 429C04 42C024 C29C04 C2C024
…………
铃声一 429CB8 42C0D8 C29CB8 C2C0D8
三、修改铃声名称
具体修改办法参阅“忧郁的蓝色”网站里吃心不改DX发表的《S508中文字符的替换方法》,网址:http://www.blueshow.net/vbb/showthread.php?s=&threadid=34490
需要下面两个软件:EmEditor v3和Hex Workshop,在网上均有下载,自己通过“百度”找找吧,可以找到汉化版。
先用EmEditor v3将原铃声名和新铃声名转换成UTF-8编码的TXT格式文件,然后用Hex Workshop打开BIN2文件和原铃声名及新铃声名转换成UTF-8编码的TXT格式文件,就会看到16进制的文件名,在BIN2文件里用“查找”功能,找到原文件名的16进制代码,将新文件名的16进制代码复制、粘贴就替换成新文件名。注意第一次修改铃声名称的新手最好不要把“铃声1”的名称改变。
四、修改好新文件名后,因为新文件名与原文件名的字数不一样,使铃声名的地址改变了,这就需要修改指针,修改指针以前,我们要看一下名称为“铃声1”的地址是不是改变了,用“铃声1”的16进制代码分别查找到它的两处地址,看看是在原地址“429CB8”和“42C0D8”之前还是之后,如果在前,用右键插入“00”即可,如果在后,就要将铃声名称之间的“00”删除,不过铃声名称间要保留2-4个“0”,直到将“铃声1”的地址调整到原地址为止,否则整个软件的地址就乱套了。
五、调整好“铃声1”的地址后,就是修改指针了。修改指针要从第二首铃声开始,因为第一首铃声的名称多长,都没有改变它的地址,但它却改变了第二首铃声的地址,如:我是将第一首铃声“芭蕾舞曲”修改为“八月桂花遍地开”,比原铃声增加了3个字,第二首“爵士乐”改为“海鸥”,“爵士乐”的原地址是429BF8和42C018,计算得出指针是C29BF8和C2C018(简便的办法就地址的第一个数字“4”改为“C”就是铃声的指针)现在就开始找“海鸥”的地址是429BFE和42C01F,它的指针应是C29BFE和C2C01F,将这两个指针替换掉原“爵士乐”的指针,然后再找第三首的,按照上面的办法替换,最后再检查一下“铃声1”的地址是不是还在原地址,如果确,软件修改完毕,点击保存,然后刷机,看看你的手机开机是否正常,打开铃声看看,名称是不是都是新的了,如果是,恭喜你,成功了。
说明一点:上述办法对内置动画名称的修改同样适用,只是动画名称的指针在BIN1文件里。
另:只要软件中的4个文件不是同时改变的,可以单独刷你改变的文件就行,没有必要4个文件同时刷,只刷其中的1个或2个或3个就可以了,刷机后只要开机及运行正常也没有必要用复位命令。
我也是第一次修改铃声的名称,可能有不对的地方和不全面的地方,请名位大侠多多指教。