前言:
前幾天 DOPOD 官方放出新版的 ROM,恰巧最近看了一些教學文章,大概瞭解如何訂製屬於自己的 ROM,於是昨天就勇敢的拿自己的 577W 開刀。結果還蠻順利的,在這邊要把自己的一些心得,跟大家分享。
首先呢,要訂製自己的 ROM 需要有兩樣東西:
1) 可以供修改的 ROM 檔案
2) 可以修改 ROM 的工具
關於第一點,可以直接從 Dopod 官方提供的 Dopod_577W_Romcode_XX.exe 解出來,如此你可以得到 nk.nbf這個檔。
關於第二點,大陸那邊有許多的網站都有提供工具讓人家修改,但是修改 WM2003 跟 WM5.0 的工具不太一樣,我這邊僅列出可以修改 WM5.0 的工具。
我的工作環境如下:
1)在 C:/ 建立 ROMEdit 目錄,建立 Tools 目錄,然後把修改 ROM 的工具都解到這個目錄下。
2)在 ROMEdit 目錄下,建立 NewROM 目錄,用來產生新的 ROM。
步驟一: 先解開 ROM 裡面的 OS 部分,利用 TyphoonNbfTool.exe 工具解開 nk.nbf。
1)執行 TyphoonNbfTool.exe,選擇 file ==> open BNF ,選取您的 nk.nbf 檔案。
2)順利開啟之後,點取畫面下方的 "OS",然後按右鍵選 "Dump decrypted",他會問你要儲存到那邊,我是儲存在 C:/ROMEdit/NewROM/。成功轉出之後,您會得到一個 OS.n_d 的檔案。
3)把 OS.n_d 改名為 OS.nb。
步驟二: 開啟 DOS 命令列,這裡我們要解開 OS.nb 裡面的檔案。
1)在 NewROM 目錄下輸入 ../Tools/prepare_imgfs os.nb -nosplit,成功之後, NewROM 目錄會多出兩個檔案,imgfs_raw_data.bin 及imgfs_removed_data.bin。
2) 同樣的在 NewROM 目錄下,輸入 font color="#FF0000">../Tools/viewimgfs imgfs_raw_data.bin,會真正把 ROM 裡面的檔案一個個解開,解開的檔案會被放在 NewROM 資料夾下面的 dump 目錄。
步驟三:簡單訂製您自己的 ROM
dump 目錄裡面包含了手機開機時會用到的檔案,不管您要將 ROM 裡面的檔案刪除,或者是新增加某個檔案,都可以直接在這個目錄進行。
舉各例子,例如我要修改手機的"簡訊"功能鍵,當我按下那各"簡訊"鍵時,可以直接讀取簡訊,而不是進入簡訊中心。
找到 dump 目錄下的 Short_AP2 這個檔案,然後取消他的唯獨屬性,好讓我們可以修改裡面的內容。之後用文書編輯器修改裡面的數值。
原本裡面是:
19#/Windows/tmail.exe
改成:
19#/Windows/tmail.exe -service "SMS"
改完之後,儲存開檔案,然後再把唯獨屬性加上。
同理,任何按鍵的對應都可以這樣改。
步驟四:徹底訂製您自己的 ROM : 修改 Registry
這個步驟才能真正修改訂製您自己的 ROM,但也最屬複雜。因為要更改登錄檔。當然如果您只是要刪刪減減 ROM 裡面的檔案,您可以用取巧的方式來達成。但是如果您要加入程式很複雜,有動到登錄檔,就必須修改登錄檔了。
1)WM5.0 的初始登錄部分包含 default.hv 和 user.hv 這兩個檔。 每次機器回復原廠設定時,這兩個檔案的內容會被寫回系統的登錄檔,然後會繼續將 *.rgu 和 *.provxml 等文件的內容,也寫回系統登入檔。所以簡單的說,看您訂製化的程度,您可能必須更改的檔案還不少。
2)hv 文件必須透過轉換,無法直接編輯。所以我們必須先把 default.hv 或者 user.hv 轉成文字編輯器可以編輯的檔案,在這邊推薦使用 EMEditor,因為他不會更改檔案的編碼格式,所以推薦使用。
a)首先要設定環境變數,在 DOS 命令列模式下,切換目錄到 C:/ROMEdit/NewROM,然後輸入 set _FLATRELEASEDIR=.,然後把 default.hv 從 dump 目錄複製到 NewROM 目錄。然後輸入 ../Tools/rgucomp -o default.hv -nologo > boot.rgu。
b)用 Emeditor 打開 boot.rgu ,然後選擇另存新檔,編碼方式採用 UTF-16LE,然後存檔。之後從新打開 boot.rgu 編輯,確認這個檔案的編碼方式已經被改為 UTF-16LE,然後在 boot.rgu 的第一行新增 REGEDIT4。
c)因為 rgucomp 在轉換時,無法順利的轉換 unicode ,所以導致中文字等相關訊息都不見了,所以我們必須將這些字找回來,怎麼找?建議可以把手機裡面的登錄檔 dump 一份出來比對,就很清楚明瞭了。
i)這裡簡單介紹怎麼改登錄檔,例如我要讓手機每次回復原廠設定時,都已經解鎖,該怎麼作?
可以更改 boot.rgu 裡面的設定即可做到。
解鎖更改:
尋找 00001001 , 將值從 2 改為 1
尋找 00001005 ,將值從 10 改為 28
尋找 00001017, 將值從 80 改為 90
新增加一行,0000101b,數值為 1
又例如要讓 USB 連線時不要充電:可以把 boot.rgu 裡面的 "EnableUsbCharging"=dword:1" 改為 "EnableUsbCharging"=dword:0" 即可,這樣手機就不會每次插上 USB 就自動充電了。
d)改完之後,我們要把 boot.rgu 轉回原來的 hv 檔案。這時候需要在 DOS 命令列模式輸入, ../Tools/rgucomp -b,如果 boot.rgu 檔案裡面有錯誤(例如中文字不見了、打錯之類的),那麼轉換會失敗,然後會跟你說那邊有錯,例如下圖這張,就是告訴我們第 877 行那邊有錯。您可以用 Emeditor 一個一個修正錯誤即可。
e)如果 boot.rgu 順利轉換成功,您會看到類似下圖的畫面。
f)之後在 NewROM 目錄下會有一個 boot.hv 檔案,把這個檔案改名為 default.hv 然後取代原先在 dump 目錄下的 default.hv,如此修改完成。
g) 又例如您想修改 OEMString 為 Dopod586W,好讓語音控制可以使用,這時候您只要修改 dump 下的 mxipupdate_OEMOPERATOR_101.provxml 這個檔,把裡面的 OEM String 改為 Dopod586W 就行了,這樣以後就算回復原廠設定,就不用解鎖跟改登登錄檔,一樣可以裝軟體跟用語音控制。
步驟五:寫回手機
1)重新產生 imgfs_removed_data.bin 檔案,在 DOS 命令列輸入 (NewROM 目錄下) ../Tools/buildimgfs。這個動作會花點時間,請耐心等候,如果順利,會看到類似下面的畫面。
2)產生 nb 檔案,一樣在 NewROM 目錄下輸入 ../Tools/make_imgfs os.nb -nosplit,
順利的話會看到類似下面的畫面。
3)重新產生 nbf 檔案,在 Tools 目錄下,執行 nb2nbf_tornado.exe,然後按照下圖的設定,之後按下 translate,產生的檔案預設應該是在 Tools 下面的 nk.nbf。
前幾天 DOPOD 官方放出新版的 ROM,恰巧最近看了一些教學文章,大概瞭解如何訂製屬於自己的 ROM,於是昨天就勇敢的拿自己的 577W 開刀。結果還蠻順利的,在這邊要把自己的一些心得,跟大家分享。
首先呢,要訂製自己的 ROM 需要有兩樣東西:
1) 可以供修改的 ROM 檔案
2) 可以修改 ROM 的工具
關於第一點,可以直接從 Dopod 官方提供的 Dopod_577W_Romcode_XX.exe 解出來,如此你可以得到 nk.nbf這個檔。
關於第二點,大陸那邊有許多的網站都有提供工具讓人家修改,但是修改 WM2003 跟 WM5.0 的工具不太一樣,我這邊僅列出可以修改 WM5.0 的工具。
我的工作環境如下:
1)在 C:/ 建立 ROMEdit 目錄,建立 Tools 目錄,然後把修改 ROM 的工具都解到這個目錄下。
2)在 ROMEdit 目錄下,建立 NewROM 目錄,用來產生新的 ROM。
步驟一: 先解開 ROM 裡面的 OS 部分,利用 TyphoonNbfTool.exe 工具解開 nk.nbf。
1)執行 TyphoonNbfTool.exe,選擇 file ==> open BNF ,選取您的 nk.nbf 檔案。
2)順利開啟之後,點取畫面下方的 "OS",然後按右鍵選 "Dump decrypted",他會問你要儲存到那邊,我是儲存在 C:/ROMEdit/NewROM/。成功轉出之後,您會得到一個 OS.n_d 的檔案。
3)把 OS.n_d 改名為 OS.nb。
步驟二: 開啟 DOS 命令列,這裡我們要解開 OS.nb 裡面的檔案。
1)在 NewROM 目錄下輸入 ../Tools/prepare_imgfs os.nb -nosplit,成功之後, NewROM 目錄會多出兩個檔案,imgfs_raw_data.bin 及imgfs_removed_data.bin。
2) 同樣的在 NewROM 目錄下,輸入 font color="#FF0000">../Tools/viewimgfs imgfs_raw_data.bin,會真正把 ROM 裡面的檔案一個個解開,解開的檔案會被放在 NewROM 資料夾下面的 dump 目錄。
步驟三:簡單訂製您自己的 ROM
dump 目錄裡面包含了手機開機時會用到的檔案,不管您要將 ROM 裡面的檔案刪除,或者是新增加某個檔案,都可以直接在這個目錄進行。
舉各例子,例如我要修改手機的"簡訊"功能鍵,當我按下那各"簡訊"鍵時,可以直接讀取簡訊,而不是進入簡訊中心。
找到 dump 目錄下的 Short_AP2 這個檔案,然後取消他的唯獨屬性,好讓我們可以修改裡面的內容。之後用文書編輯器修改裡面的數值。
原本裡面是:
19#/Windows/tmail.exe
改成:
19#/Windows/tmail.exe -service "SMS"
改完之後,儲存開檔案,然後再把唯獨屬性加上。
同理,任何按鍵的對應都可以這樣改。
步驟四:徹底訂製您自己的 ROM : 修改 Registry
這個步驟才能真正修改訂製您自己的 ROM,但也最屬複雜。因為要更改登錄檔。當然如果您只是要刪刪減減 ROM 裡面的檔案,您可以用取巧的方式來達成。但是如果您要加入程式很複雜,有動到登錄檔,就必須修改登錄檔了。
1)WM5.0 的初始登錄部分包含 default.hv 和 user.hv 這兩個檔。 每次機器回復原廠設定時,這兩個檔案的內容會被寫回系統的登錄檔,然後會繼續將 *.rgu 和 *.provxml 等文件的內容,也寫回系統登入檔。所以簡單的說,看您訂製化的程度,您可能必須更改的檔案還不少。
2)hv 文件必須透過轉換,無法直接編輯。所以我們必須先把 default.hv 或者 user.hv 轉成文字編輯器可以編輯的檔案,在這邊推薦使用 EMEditor,因為他不會更改檔案的編碼格式,所以推薦使用。
a)首先要設定環境變數,在 DOS 命令列模式下,切換目錄到 C:/ROMEdit/NewROM,然後輸入 set _FLATRELEASEDIR=.,然後把 default.hv 從 dump 目錄複製到 NewROM 目錄。然後輸入 ../Tools/rgucomp -o default.hv -nologo > boot.rgu。
b)用 Emeditor 打開 boot.rgu ,然後選擇另存新檔,編碼方式採用 UTF-16LE,然後存檔。之後從新打開 boot.rgu 編輯,確認這個檔案的編碼方式已經被改為 UTF-16LE,然後在 boot.rgu 的第一行新增 REGEDIT4。
c)因為 rgucomp 在轉換時,無法順利的轉換 unicode ,所以導致中文字等相關訊息都不見了,所以我們必須將這些字找回來,怎麼找?建議可以把手機裡面的登錄檔 dump 一份出來比對,就很清楚明瞭了。
i)這裡簡單介紹怎麼改登錄檔,例如我要讓手機每次回復原廠設定時,都已經解鎖,該怎麼作?
可以更改 boot.rgu 裡面的設定即可做到。
解鎖更改:
尋找 00001001 , 將值從 2 改為 1
尋找 00001005 ,將值從 10 改為 28
尋找 00001017, 將值從 80 改為 90
新增加一行,0000101b,數值為 1
又例如要讓 USB 連線時不要充電:可以把 boot.rgu 裡面的 "EnableUsbCharging"=dword:1" 改為 "EnableUsbCharging"=dword:0" 即可,這樣手機就不會每次插上 USB 就自動充電了。
d)改完之後,我們要把 boot.rgu 轉回原來的 hv 檔案。這時候需要在 DOS 命令列模式輸入, ../Tools/rgucomp -b,如果 boot.rgu 檔案裡面有錯誤(例如中文字不見了、打錯之類的),那麼轉換會失敗,然後會跟你說那邊有錯,例如下圖這張,就是告訴我們第 877 行那邊有錯。您可以用 Emeditor 一個一個修正錯誤即可。
e)如果 boot.rgu 順利轉換成功,您會看到類似下圖的畫面。
f)之後在 NewROM 目錄下會有一個 boot.hv 檔案,把這個檔案改名為 default.hv 然後取代原先在 dump 目錄下的 default.hv,如此修改完成。
g) 又例如您想修改 OEMString 為 Dopod586W,好讓語音控制可以使用,這時候您只要修改 dump 下的 mxipupdate_OEMOPERATOR_101.provxml 這個檔,把裡面的 OEM String 改為 Dopod586W 就行了,這樣以後就算回復原廠設定,就不用解鎖跟改登登錄檔,一樣可以裝軟體跟用語音控制。
步驟五:寫回手機
1)重新產生 imgfs_removed_data.bin 檔案,在 DOS 命令列輸入 (NewROM 目錄下) ../Tools/buildimgfs。這個動作會花點時間,請耐心等候,如果順利,會看到類似下面的畫面。
2)產生 nb 檔案,一樣在 NewROM 目錄下輸入 ../Tools/make_imgfs os.nb -nosplit,
順利的話會看到類似下面的畫面。
3)重新產生 nbf 檔案,在 Tools 目錄下,執行 nb2nbf_tornado.exe,然後按照下圖的設定,之後按下 translate,產生的檔案預設應該是在 Tools 下面的 nk.nbf。