• 4

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

前言:

前幾天 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。
[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本


步驟二: 開啟 DOS 命令列,這裡我們要解開 OS.nb 裡面的檔案。
1)在 NewROM 目錄下輸入 ..\Tools\prepare_imgfs os.nb -nosplit,成功之後, NewROM 目錄會多出兩個檔案,imgfs_raw_data.bin 及imgfs_removed_data.bin。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

2)同樣的在 NewROM 目錄下,輸入 font color="#FF0000">..\Tools\viewimgfs imgfs_raw_data.bin,會真正把 ROM 裡面的檔案一個個解開,解開的檔案會被放在 NewROM 資料夾下面的 dump 目錄。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

步驟三:簡單訂製您自己的 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。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本


c)因為 rgucomp 在轉換時,無法順利的轉換 unicode ,所以導致中文字等相關訊息都不見了,所以我們必須將這些字找回來,怎麼找?建議可以把手機裡面的登錄檔 dump 一份出來比對,就很清楚明瞭了。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

i)這裡簡單介紹怎麼改登錄檔,例如我要讓手機每次回復原廠設定時,都已經解鎖,該怎麼作?
可以更改 boot.rgu 裡面的設定即可做到。

解鎖更改:
尋找 00001001 , 將值從 2 改為 1
尋找 00001005 ,將值從 10 改為 28
尋找 00001017, 將值從 80 改為 90
新增加一行,0000101b,數值為 1

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

又例如要讓 USB 連線時不要充電:可以把 boot.rgu 裡面的 "EnableUsbCharging"=dword:1" 改為 "EnableUsbCharging"=dword:0" 即可,這樣手機就不會每次插上 USB 就自動充電了。

d)改完之後,我們要把 boot.rgu 轉回原來的 hv 檔案。這時候需要在 DOS 命令列模式輸入, ..\Tools\rgucomp -b,如果 boot.rgu 檔案裡面有錯誤(例如中文字不見了、打錯之類的),那麼轉換會失敗,然後會跟你說那邊有錯,例如下圖這張,就是告訴我們第 877 行那邊有錯。您可以用 Emeditor 一個一個修正錯誤即可。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

e)如果 boot.rgu 順利轉換成功,您會看到類似下圖的畫面。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

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 。這個動作會花點時間,請耐心等候,如果順利,會看到類似下面的畫面。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本

2)產生 nb 檔案,一樣在 NewROM 目錄下輸入 ..\Tools\make_imgfs os.nb -nosplit
順利的話會看到類似下面的畫面。

[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本


3)重新產生 nbf 檔案,在 Tools 目錄下,執行 nb2nbf_tornado.exe,然後按照下圖的設定,之後按下 translate,產生的檔案預設應該是在 Tools 下面的 nk.nbf。


[訂製 ROM 教學] 如何訂製屬於自己的 ROM 版本


4)執行 Tools 目錄下的,ROMUpdateUtility.exe,一步一步照著下去,就可以順利更新您的 ROM 了,您必須把產生的 nk.nbf 放在跟 ROMUpdateUtility.exe 同樣的目錄下。

後記:本篇教學文章乃是小弟我親身試驗過,在小弟的 755W 上面可以正常工作,其他機器上面如果有相對應的 ROM 可以改,應該也是一定沒問題,但是如果您要把您的 565 or 575 升級到 WM5.0 ,小弟就無法保證了,因為您還得考慮 SPL 的問題。歡迎有興趣修改 ROM 的人互相討論。

謝謝收看!!

ROM 修改工具下載: 200605/mobile01-568ab0b9e77ac97fbc5b1de598e078fd.zip
2006-05-31 14:33 發佈
文章關鍵字 教學 版本 ROM
我只能說您太強了
雖然看不懂
但是萬分的佩服
只能用'加分'兩個字來表示我對您的佩服!
謝謝大大的文章.要是我想刪除新增加軟體.
跟修改微軟的雅黑字型.該如何辦到呢?
謝謝~加分加分
雖然我不能幫你加分,但這真是千載難逢的好文章...

沒想到,英雄所見略同,我要改的東東你都有範例了,真讚。


可是,現在我有一個疑問?

修改權限登錄檔的第一、二、四行沒問題,第三行
"尋找 00001017, 將值從 80 改為 90"
在Mark5347大大的[獨家]577w更新WM5新版ROM後,利用regeditSTG修改權限(第3頁新增說明圖)裡有說明,
HKEY_LOCAL_MACHINE \Security\Policies\Policies\00001017 數值為148
這一個不用改!!(切記)

請問,你改成 144(90h) 沒問題嗎?

john33 wrote:
謝謝大大的文章.要是...(恕刪)

我也想要知道如何修改預設字型說!
「貴的東西不一定好,但是好的東西一定貴」
大大您真是厲害,加分加分

但是我還是不敢自己改....
https://www.instagram.com/mark5347/
chizone wrote:
雖然我不能幫你加分,...(恕刪)


to chizone:

我把 "00001017" 從 80 改為 90...是沒有任何問題的...

至於 Mark5347 兄的所說的
HKEY_LOCAL_MACHINE \Security\Policies\Policies\00001017 數值為148

因為我的值一開始不是 148 是 80 (128),所以我才會改為 90。

因為我是在 2577 資料夾執行前去修改我的 ROM,所以也許這是跟 Mark5347 兄所看到的不同..

也許 Mark5437 所看到的結果是 2577 設定完之後的結果..?




繼第一版修改韌體後...我又作了好幾次的修改...
當然這之間也包括完全當機不能動....
但是只要能進三色螢幕,就可以在刷回原廠的 ROM..
然後可以再修改...所以有興趣試的人...給他用力試下去啦..

再來在跟大家介紹怎麼樣新增檔案到 Flash。
這邊我舉對岸的小鋒兄的"手機保護神"來作例子,把這個放到 Flash 的好處是,
就算你的手機被偷,只要對方不會刷 ROM,你的手機就有很大的機會找回來。
廢話不多說,開始囉。


步驟一:準備工作
因為手機保護神是屬於綠色軟體,所以無須修改登錄檔,在新增到 Flash 的時候,可以省下不少力。第一步就是去抓取原版的軟體回來執行,然後做好您的設定,因為到時候是寫到 Flash 裡面,所以這個一定要設定,不然手機被偷了,要傳簡訊給誰啊?

步驟二:開始加工
假設您已經安裝完畢,你會看到有三個檔案,config.ini(設定檔)、Lockapp.lnk (捷徑)、Lockapp.exe(主程式)。把這三個檔案通通先搬到 dump 出來的資料夾(在我之前的例子,就是 dump 資料夾)。然後找到 dump 資料夾下面的 initflashfiles.dat 這個檔案,這個檔案是用來告訴 WM 在初始化設定時,要把哪些東西搬到主記憶體上。記得,要編輯這個檔案要用我附檔提供的 notepad2.exe,不然會開不了機,我其中好幾次開不了機,就是因為用錯編輯器,結果就發生問題了。

步驟三:修改 initflashfiles.dat 檔
在 initflashfiles.dat 的最後,加入下面這兩行

;LockApp
Directory("\Windows\StartUp"):-File("LockApp.lnk","\Windows\LockApp.lnk")

儲存並關閉這個檔案。

步驟四:修改 default.hv
要修改這個檔案,您必須先把他轉為 rgu 檔案,轉換方法我在第一篇文章有寫。
假設您已經把檔案轉出,然後確認裡面有下面這些東西

[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101b"=dword:00000001
"00001006"=dword:00000001
"0000101a"=dword:00000001



這裡稍微解釋一下改這個的用意好了,加上這些可以略過手機保護神第一次執行時的詢問訊息(你總不希望小偷拿到手機,硬體重設後,發現手機保護神要執行,所以....)。如果您覺得這個無傷大雅,那也可以不用改這個檔。


步驟五:
把 rgu 檔案轉回 default.hv ,然後重新產生 ROM image,最後開始享受您的 ROM 吧。

用來編輯 initflashfiles.dat 的工具: 200606/mobile01-cb2af9fd8df031a9089da10e0c208967.zip
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?