修改手機內置鈴聲前提:
1、找出原內置鈴聲起始位置(4d4d4d440000起始處)及長度代碼。
2、找出擬替換的鈴聲4d4d4d440000位置及長度代碼。(看文件屬性查長度代碼)
3、具有升級手機的FLoader軟件和數據線。(具體情況見寶典其他文章)
4、具有修改鈴聲文件的軟件如:UltraEdit
具體修改辦法如下:
1、以小鈴聲替換內置中大一點的鈴聲:例如:以“溫暖的詩句.mmf”(9.48k)植入“1812序曲”(29.9K)內部前端(以代碼4D4D4D440000開始替換),以“溫暖的詩句3.mmf”長度更改原內置“1812序曲”長度代碼(原為A177,改為4425),在“溫暖的詩句.mmf”結尾處至少要有一個以上的一個00。
2、以大鈴聲替換內置的鈴聲:
以“眉飛色舞.mmf”(59K)植入“旋律2~晨曲”(合計:86.32K)的內部前端(以代碼4D4D4D440000開始替換),以“眉飛色舞.mmf”長度更改“旋律2”的長度代碼(原為7709,改為ceea),結尾處至少要有一個以上的一個00。
從以上成功置換內置鈴聲來看,可以寫入的最大鈴聲為391K。
另外:在未找到了鈴聲指針位置并可以修改的情況下,不要變動原內置鈴聲的起始地址。否則,會置換不
成功!
為什么不能單獨置換某個內置鈴聲呢?研究發現,FLoader在寫入bif文件時會自動在指定的起始位置前面8個位置寫上4D4D4D440000****,因此,要想替換鈴聲,則必須考慮其寫入4D4D4D440000****與原內置鈴聲文件4D4D4D440000****相同,這一點是可以做到的。但是,在內置4D4D4D440000****的前面2個代碼正好是mmf文件的長度代碼,如何修改呢?
這種情況下可以采取兩種辦法解決:
1、不修改原內置鈴聲長度,只能以小鈴聲寫入內置大鈴聲,剩余部分填入00(我未試驗);
2、修改原內置鈴聲長度代碼為新植入的鈴聲長度。如果直接修改鈴聲長度代碼,問題就來了。因為,FLoader會在該代碼的前面再次寫入4D4D4D440000****,這樣就造成一個鈴聲文件出現2次4D4D4D440000****,其結果肯定是不成功,還有可能造成上一個原內置鈴聲出問題。如何解決這個問題呢?根據網友lingf的成功經驗我想到了從地址0x01000000開始讀出,結束的地址為被替換的內置鈴聲起始位置加上擬替換的鈴聲長度,然后在讀出的這段內容中修改鈴聲內容以及鈴聲長度代碼,并重新寫入手機內。因為是從0開始寫,所以FLoader無法在0前面加上4D4D4D440000****(也有可能加在0x00ffffff處,但對手機沒有影響,并且該位置是否能寫入也沒試驗)。這樣,就成功的修改了內置鈴聲,并可以將大鈴聲寫入手機。
建議:為了修改鈴聲方便,修改前讀出的內置鈴聲文件地址可以為:addr:0x01000000 size:0x61e71
雖然文件大一點,但在該文件上可以將每個鈴聲(只是針對手機中那20個鈴聲,不包括短信鈴聲等)都進行修改,也就是說,將該文件作為以后修改鈴聲的母體。如要修改其它的鈴聲,則要以我原來讀出的v305.bif作為母體進行修改鈴聲。
說明:以上一些地址數據是以40和弦G808手機v305版為依據,其他版本以及G808e手機可以作為參考。
2003-05-29