之前一直做iAUDIO闪存系列MP3的汉化,X5的汉化是否能实现还难说。先从汉化的角度,来分析一下X5固件与G3等固件有什么不同吧。
X5固件的容量较小,只有1M多,并且只有一个文件。而G3等固件文件有3M多,但其中的字库就占了2M多。这样看来,X5的固件里应该不含字库,字库可能已固化在芯片内部了,或者已经在硬盘的隐藏分区里了。如果是这样,二者的程序量就大致相同了。
G3的汉化有专业工具软件的支持,早先有iBeadResEdit,后来有basicasm 大侠做的功能更好的ResEdit。由于Sigmatel系列芯片的MP3是最普及的,其固件结构都大致相同,因此汉化时有许多前人的经验可供参考。而 X5就完全不同了,到现在我也不清楚X5的芯片到底是哪家的。就是知道了也没什么用,根本找不到其固件的结构形式的任何参考资料。要汉化,只能自己从头摸索。困难再大也要克服,那就开始吧。
汉化过程,可为磨难重重——

1、迎面撞墙
目前唯一可用的工具软件就是大家都熟悉的WinHex,打开X5固件后,先改了一个词,升一下试试。结果:X5根本不执行升级操作。由此得出结论:X5的固件带有校验,只要改一个字节,校验就出错,X5就拒绝升级操作。天哪!这就像刚打开一扇门,刚往里迈了一步就一头撞到了墙上——眼冒金星!
才刚开始,总不能就这样放弃!继续!
经过多次反复分析、试验,终于猜测(又猜又测试)出它的校验算法。幸好校验算法不难,总算过了这一关。改的数据,只要满足它的校验算法,就可以升级了。
2、屡战屡败
既然能升级了,那就开始试吧。当然先只改几个词,试好了再说。将固件中的英文、韩文(猜的,反正是乱码)用GBK码、Big5码、Unicode码反复试,就是不给你显示中文。
X5的菜单也有标签语言与菜单语言两个选项。标签语言有简体中文等多个选项,而菜单语言里只有英文与韩文两个选项,与G3等很相似。由于G3的菜单采用了Unicode国际标准字库编码,因此能让菜单显示几十种语言。而现在试下来,X5肯定不是 Unicode编码。而X5的字库究竟在哪儿,还不知道,也就根本不能像G3那样通过更换字库来解决问题。至此,汉化工作已经陷入绝望……












