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

来源:互联网 发布:球心心定位算法 编辑:程序博客网 时间:2024/05/18 00:56
前言:
KG&o[-h1` Sl,g L|0灵机网oK%er_v&s
前幾天 DOPOD 官方放出新版的 ROM,恰巧最近看了一些教學文章,大概瞭解如何訂製屬於自己的 ROM,於是昨天就勇敢的拿自己的 577W 開刀。結果還蠻順利的,在這邊要把自己的一些心得,跟大家分享。
AAM6R;mu0
um&^t&Lc%sH|vS0首先呢,要訂製自己的 ROM 需要有兩樣東西:灵机网�L�nN(g;]O'p!j"w$]
1)可以供修改的 ROM 檔案
.RY9A ~y2Sa3f02)可以修改 ROM 的工具灵机网o%O$NdF

7/hubHe8}8V:r0關於第一點,可以直接從 Dopod 官方提供的 Dopod_577W_Romcode_XX.exe 解出來,如此你可以得到nk.nbf這個檔。
4k rW"cA?"i0
)/ QmZ0/�PuktQ)P0關於第二點,大陸那邊有許多的網站都有提供工具讓人家修改,但是修改 WM2003 跟 WM5.0 的工具不太一樣,我這邊僅列出可以修改 WM5.0 的工具。
h5@hY%n3@0灵机网Ao~bF%rye/z
我的工作環境如下:
D:NBe!w2i5{[]+@01)在 C:/ 建立 ROMEdit 目錄,建立 Tools 目錄,然後把修改 ROM 的工具都解到這個目錄下。灵机网4C x3a3w"T_;da
2)在 ROMEdit 目錄下,建立 NewROM 目錄,用來產生新的 ROM。
.`jiT)z+J0灵机网s |6t/x"SBq C

[O8m(A4mw T(I;@$Z0步驟一: 先解開 ROM 裡面的 OS 部分,利用 TyphoonNbfTool.exe 工具解開 nk.nbf。
iC1?H,g0j5u [W01)執行 TyphoonNbfTool.exe,選擇 file ==> open BNF ,選取您的 nk.nbf 檔案。
-x [m(]#b02)順利開啟之後,點取畫面下方的 "OS",然後按右鍵選 "Dump decrypted",他會問你要儲存到那邊,我是儲存在 C:/ROMEdit/NewROM/。成功轉出之後,您會得到一個 OS.n_d 的檔案。灵机网t0Bq:YU2A
3)把 OS.n_d 改名為 OS.nb。灵机网3Q3eE�N1/$s%P*M

h1{ ^9?o-bL0
Pl:BF/e /G0灵机网/zw{8Je:l
步驟二: 開啟 DOS 命令列,這裡我們要解開 OS.nb 裡面的檔案。
,K9nW!Vbt#?~i01)在 NewROM 目錄下輸入../Tools/prepare_imgfs os.nb -nosplit,成功之後, NewROM 目錄會多出兩個檔案,imgfs_raw_data.bin 及imgfs_removed_data.bin。
Y*CF"Vw/?u0
f)c6y/bQ3U0灵机网pP u]a q

b/w3cTK/5r`02) 同樣的在 NewROM 目錄下,輸入 font color="#FF0000">../Tools/viewimgfs imgfs_raw_data.bin,會真正把 ROM 裡面的檔案一個個解開,解開的檔案會被放在 NewROM 資料夾下面的 dump 目錄。灵机网&Q5/?WIU%IW

p2xvC3gI"q0灵机网g,z/eO;d@ b
灵机网 rENQ)T{
步驟三:簡單訂製您自己的 ROM灵机网 eq.J*T~4z
dump 目錄裡面包含了手機開機時會用到的檔案,不管您要將 ROM 裡面的檔案刪除,或者是新增加某個檔案,都可以直接在這個目錄進行。
4M2f@|:m9hav/?0灵机网yt3O�C"l2Y�C
舉各例子,例如我要修改手機的"簡訊"功能鍵,當我按下那各"簡訊"鍵時,可以直接讀取簡訊,而不是進入簡訊中心。灵机网1]/^k!U3T
找到 dump 目錄下的 Short_AP2 這個檔案,然後取消他的唯獨屬性,好讓我們可以修改裡面的內容。之後用文書編輯器修改裡面的數值。灵机网V kAgfQR7i T
灵机网K m6x$Kv}z+g"x
原本裡面是:
;J,MwJ/v3G0LS];D019#/Windows/tmail.exe灵机网'P8h_p{O7h v.I
改成:
&]|;em5~%B(U m019#/Windows/tmail.exe -service "SMS"灵机网lp,M3i_$hK
灵机网i0R-I II[8K
改完之後,儲存開檔案,然後再把唯獨屬性加上。
:Q7Nh.@Br#Ct0
_�VXx'M0同理,任何按鍵的對應都可以這樣改。灵机网u+JS"S*Z

8Ol4J|'W0w0步驟四:徹底訂製您自己的 ROM : 修改 Registry灵机网!wvv I'J
這個步驟才能真正修改訂製您自己的 ROM,但也最屬複雜。因為要更改登錄檔。當然如果您只是要刪刪減減 ROM 裡面的檔案,您可以用取巧的方式來達成。但是如果您要加入程式很複雜,有動到登錄檔,就必須修改登錄檔了。灵机网 VNg8R;IBLP

W2Q(A],r E z01)WM5.0 的初始登錄部分包含 default.hv 和 user.hv 這兩個檔。 每次機器回復原廠設定時,這兩個檔案的內容會被寫回系統的登錄檔,然後會繼續將 *.rgu 和 *.provxml 等文件的內容,也寫回系統登入檔。所以簡單的說,看您訂製化的程度,您可能必須更改的檔案還不少。
/DOxrX7oM s0
S ` j"yC,K:WT)y02)hv 文件必須透過轉換,無法直接編輯。所以我們必須先把 default.hv 或者 user.hv 轉成文字編輯器可以編輯的檔案,在這邊推薦使用 EMEditor,因為他不會更改檔案的編碼格式,所以推薦使用。
_UDZ2d2V$U7N0
;yH| n#EXF0a)首先要設定環境變數,在 DOS 命令列模式下,切換目錄到 C:/ROMEdit/NewROM,然後輸入set _FLATRELEASEDIR=.,然後把 default.hv 從 dump 目錄複製到 NewROM 目錄。然後輸入../Tools/rgucomp -o default.hv -nologo > boot.rgu灵机网)oYk!i|O4v

P S7P-FYpK$j0b)用 Emeditor 打開 boot.rgu ,然後選擇另存新檔,編碼方式採用UTF-16LE,然後存檔。之後從新打開 boot.rgu 編輯,確認這個檔案的編碼方式已經被改為 UTF-16LE,然後在 boot.rgu 的第一行新增 REGEDIT4。
0PVS^0ET0
Z8~+B,jR0灵机网@c#[Wn

ziG5dd*e0
zF;t'bk mI0c)因為 rgucomp 在轉換時,無法順利的轉換 unicode ,所以導致中文字等相關訊息都不見了,所以我們必須將這些字找回來,怎麼找?建議可以把手機裡面的登錄檔 dump 一份出來比對,就很清楚明瞭了。灵机网%IOg*Ct*d9d/ W f9u

_z%pG)r@}0
H!/ s]u0
:yPgY%M n%M0i)這裡簡單介紹怎麼改登錄檔,例如我要讓手機每次回復原廠設定時,都已經解鎖,該怎麼作?
W Glp]jq0可以更改 boot.rgu 裡面的設定即可做到。灵机网3M5o+r u/
灵机网^uh(Lm#B8z P%K E C
解鎖更改:灵机网 Tn*Qh f#X"V
尋找 00001001 , 將值從 2 改為 1灵机网6?8Hk]k9s q
尋找 00001005 ,將值從 10 改為 28
:x7v^G p _0k%P6D%d@0尋找 00001017, 將值從 80 改為 90灵机网jR;hx"PJ"/
新增加一行,0000101b,數值為 1
,o5S)D|U!x0
F s3e a"Tj-b0
Q;@{|JR&[}0
$MBW F)yg'zR~0又例如要讓 USB 連線時不要充電:可以把 boot.rgu 裡面的 "EnableUsbCharging"=dword:1" 改為 "EnableUsbCharging"=dword:0" 即可,這樣手機就不會每次插上 USB 就自動充電了。灵机网4nD ^{%Aa:P"c

*qve9AA]0d)改完之後,我們要把 boot.rgu 轉回原來的 hv 檔案。這時候需要在 DOS 命令列模式輸入,../Tools/rgucomp -b,如果 boot.rgu 檔案裡面有錯誤(例如中文字不見了、打錯之類的),那麼轉換會失敗,然後會跟你說那邊有錯,例如下圖這張,就是告訴我們第 877 行那邊有錯。您可以用 Emeditor 一個一個修正錯誤即可。
&`$f0E}i)ke x%{0灵机网y,Zm[/dk

/hO3PpO"Y0灵机网v nB [f,]
e)如果 boot.rgu 順利轉換成功,您會看到類似下圖的畫面。
0j9A.l#cN|1R-q.c0
z+WgF&Br(J0灵机网+b"w p2J _B,e`9R,q]
灵机网$/8TK Ix(/
f)之後在 NewROM 目錄下會有一個 boot.hv 檔案,把這個檔案改名為 default.hv 然後取代原先在 dump 目錄下的 default.hv,如此修改完成。灵机网Qz-c8}//I~!y8b

m&ABI V7L0g) 又例如您想修改 OEMString 為 Dopod586W,好讓語音控制可以使用,這時候您只要修改 dump 下的 mxipupdate_OEMOPERATOR_101.provxml 這個檔,把裡面的 OEM String 改為 Dopod586W 就行了,這樣以後就算回復原廠設定,就不用解鎖跟改登登錄檔,一樣可以裝軟體跟用語音控制。
.M?Z'h/2c5o0
#c"Cw5`+I0步驟五:寫回手機灵机网6}5ck|8y
1)重新產生 imgfs_removed_data.bin 檔案,在 DOS 命令列輸入 (NewROM 目錄下)../Tools/buildimgfs。這個動作會花點時間,請耐心等候,如果順利,會看到類似下面的畫面。灵机网6Be y.N�O B

)F8rtOny0灵机网oe7kwW*Ab'V
灵机网? U'sM2^ j%W
2)產生 nb 檔案,一樣在 NewROM 目錄下輸入../Tools/make_imgfs os.nb -nosplit灵机网?eu&K{8iL%w
順利的話會看到類似下面的畫面。
(Nu!gOA X1]Q5N!pw0灵机网-D6|'v'Q }T(o!~5g6s
灵机网T#zo1h^4} G;I

.bK"| |I0灵机网P#X&^;`Z
3)重新產生 nbf 檔案,在 Tools 目錄下,執行 nb2nbf_tornado.exe,然後按照下圖的設定,之後按下 translate,產生的檔案預設應該是在 Tools 下面的 nk.nbf。 
原创粉丝点击