• 2

[淺淺教學] 重組 WM6 ROM 的方法 (HX4700 0.7.0 R4為例)

Special thanks to Mr. kozhura, vivi

板規 7. 本站倡導正版軟體,因此嚴禁發文要求提供或討論破解軟體、註冊碼、音樂、影片、軟體複製等違反智慧財產權之文章。

發文是為了解決許多機友的問題 不包含破解及提供任何檔案下載
以下文章 以 HX4700 Windows Mobile 6 .0.7.0 Release 4 為例
不同機器及廠商 ROM 都不一樣 修改方式不盡相同 請自行體會
修改 ROM 風險很大 請自行評估風險 結果自負

1. 下載 2007.11.10 vivi4700.exe for HX470 WM6

2. 執行 C:\vivi4700.exe 會得到 C:\vivi4700\

C:\vivi4700\OEM -> 自己要加入的 package的目錄

C:\vivi4700\ROM\OS.template -> 4700 WM6 0.7.0 R4 ROM image
可以在此修改 paging pool 大小
用 winhex 編修 3EE3B0 位置
003EE3B0 74 9A 1F 80 00 00 48 00 -> 48 00 to 80 00 (8M) or 00 03 (48M)

C:\vivi4700\ROM\XIP\boot.rgu
可以在此修改
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"DataCacheSize"=dword:00002000 -> 改為 0 可以減少回寫

C:\vivi4700\SYS -> 系統目錄

3. 修改 wince.nls
C:\vivi4700\OEM\OEM_INITFLSH
將 wince.nls 換成支援多國語系 如 CE-Star 2.8 R3A for WM5/WM6 wince.nls
或是 Mr. Asukal 的 wince.nls

4. 執行 C:\vivi4700\start.cmd
BuildOS 左上角箭頭處執行 就會開始重組 ROM
[淺淺教學] 重組 WM6 ROM 的方法 (HX4700 0.7.0 R4為例)

5. 新的 ROM 會在 C:\vivi4700\temp\OS-new.nb0

6. 刷 ROM 方法很多 可以就好 (小弟習慣用 ENG 2.01.05 WM5 hx4700_20039_wwe.nbf 版本)
hpruu.exe + activesync 3.8 + serial mode 刷機
2007-10-19 19:34 發佈
如何解開 HX4700 ROM 組成 package
可以用 scoter kitchen
將 WM6_4700_0_7_0_FIX2.nbf 放到 D:\Scoter Kitchen\Utilities\TOOLS\imgfs_tools

執行 prepare_imgfs.exe WM6_4700_0_7_0_FIX2.nbf
可以得到
imgfs_raw_data.bin
imgfs_removed_data.bin

執行 viewimgfs.exe imgfs_raw_data.bin
可以得到 D:\Scoter Kitchen\Utilities\TOOLS\imgfs_tools\dump

執行 D:\Scoter Kitchen\Utilities\DMP2PKG.exe
指到 D:\Scoter Kitchen\Utilities\TOOLS\imgfs_tools\dump
可以將 \dump\ 下的檔案分成 \dump\oem\ 和 \dump\sys\ 許多的 packages

Mr. vivi 在 vivi.exe 已經做完這個部分

回到 C:\vivi\Enter Kitchen\SYS
可以將不需要的 package 及 module 移除 可以減少系統 RAM 及 ROM image 的使用

\oem\ 下的 package 目錄名稱 最好都要改成 UUID 比較不會出錯
例如
C:\vivi\Enter Kitchen\OEM\2b2d6a74-0655-461a-8b43-54763871acf7\
如何加入自製的 package
小弟以 MS IME for Japanese 為例

1. 取得一個 UUID 作為 package 的目錄名
http://www.famkruithof.net/uuid/uuidgen
C:\vivi\Enter Kitchen\OEM\030d5254-4959-11dc-8314-0800200c9a66

2. C:\vivi\Enter Kitchen\OEM\030d5254-4959-11dc-8314-0800200c9a66
package 裡面要用記事本建立 2 個空白 unicode txt 檔案 改名為

030d5254-4959-11dc-8314-0800200c9a66.dsm
-> 紀錄 package 裡面的檔案
-> 這部分在 package 做好以後 將整個目錄拖曳到 BuildDsm.exe 上面 就會重新紀錄 dsm

030d5254-4959-11dc-8314-0800200c9a66.rgu
-> 這部分是要加入 package 中的註冊表部分 要注意的是

a. 文件中第一行必須是 REGEDIT4

b. 文件中最後一行必須是空白行

c. 相關格式如
[HKEY_CURRENT_USER\ControlPanel\Dial\Locations]
"1"=multi_sz: "Work",
"9,G",
[HKEY_CLASSES_ROOT\CLSID\{42429667-ae04-11d0-a4f8-00aa00a749b9}]
@="Keyboard"
"KBMode"=dword:5
[HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\SPC\Certificates\472A80336E261F2F420F8F78B5121383559AD4E3]
"Blob"=hex:03,00,00,00,01,00,00,00,14,00,00,00

d. 文件必須存成 unicode txt 檔案

e. 中文文字常常會出錯 建議盡量改用英文 這就是小弟不喜歡 "中文化" 的原因

2. 將想放入的檔案放入 C:\vivi\Enter Kitchen\OEM\030d5254-4959-11dc-8314-0800200c9a66
從其他 ROM 找出來的 modules 不可以直接加入 需要重新定位址
這部分小弟還沒弄懂 所以不加入 module 改以檔案方式加入
但是系統使用的 driver 和輸入法不可以直接加入 會無法開機 需要做根認證動作
原廠的 認證 key 當然無法取得
改用 SDKSamplePrivDeveloper.pfx + signtool.exe 對 dll 和 exe 檔做認證
如 signtool sign /f SDKSamplePrivDeveloper.pfx imjp31.dll

3. 除了加入檔案要做認證外系統本身也要相對做認證
Mr. kozhura 系統認證在
C:\vivi\Enter Kitchen\OEM\SecurityOff\mxip_sdkcerts.provxml
C:\vivi\Enter Kitchen\OEM\SecurityOff\5101af95-fb28-4eaa-b4c0-051531efc069.rgu
-> 認證註冊表部分

所以將網路上的 wzcsvc.dll 直接複製到 \windows\ 下是無用的
(解決 WIFI WPA-TSK WM6 錯誤的修正檔)
在 ROM image 中直接取代 \sys\ 下的 wzcsvc.dll module 也是沒有用的
所以有些人會說造成 wifi 系統不穩

正確做法是將 原先 ROM 中的 wzcsvc.dll module 刪除
並對系統及檔案 wzcsvc.dll 做認證 就可以正常執行了

所以怪獸輸入法修改註冊表 DefaultIM 成為預設輸入法彙死機的原因
如果將怪獸輸入法檔案做認證之後再安裝才可以設成預設輸入法
小弟自做的 MS IME for Japanese package 就包括

030d5254-4959-11dc-8314-0800200c9a66.dsm
030d5254-4959-11dc-8314-0800200c9a66.rgu
helpstub.exe
hwxjpn.dll
imjp31.dll
imjp31dx.exe
imjp31k.dll
imjp31s.dic
imjp31s.grm
mboxjpn.192.dll
mboxjpn.dll
msimj.192.dll
msimj.dll
mskana.192.dll
mskana.dll

030d5254-4959-11dc-8314-0800200c9a66.rgu (部分內容省略)

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000030]
"VK"=dword:19
"KM"=dword:C001
"Ime"=dword:e0010411
-> 可支援 BT 硬體鍵盤輸入

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
@="e0010411"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="e0010411"
-> 以日文為預設輸出

[HKEY_CURRENT_USER\ControlPanel\Sip]
"DefaultIm"="{BDE4F120-5FCB-11d3-BF7D-00C04F395B9E}"
-> 設定 romaji 為預設輸入法

[HKEY_LOCAL_MACHINE\nls]
"SystemLCID" = dword:411
-> 以前以為一定要設成 411 日本才能輸出日文
-> 其實設成台灣 404 也可以輸出日文
-> 但是 MS IME JAP 和 MS IME CHT 會嚴重衝突 無法並存
-> 所以英文系統 + MS IME JAP 就算設成台灣也可以正常輸出日文
monmon wrote:
小弟自做的 MS I...(恕刪)

太深奧了!!Monmon大重出江湖果然一鳴驚人, 又多了一些可以研究的東西了!! 小弟先謝了!! 戴上眼鏡,開始研究去了!
請問monmon大:

我用執行 viewimgfs.exe
dump出來fix3版的bin檔

再執行DMP2PKG.exe
得到\dump\oem\ 和 \dump\sys\

但\ROM\XIP 怎麼提取呢??

少了\rom\
boot.rgu 應該是系統的登錄檔吧!

stockcycle wrote:
請問monmon大:...(恕刪)


但\ROM\XIP 怎麼提取呢?? 少了\rom\boot.rgu 應該是系統的登錄檔吧!

-> \rom\xip\也是一堆 modules and files
-> 但是只要有 boot.rgu 就可以了
-> 新的 xip.bin 小弟還未解開
-> 偷機方法是先刷一次 ROM
-> 用 resco explorer 將 \windows\boot.rgu 複製出來就可以用了
-> xip.bin 是系統開機檔案的部份 最好不要碰

小弟之前提取 xip.bin 的方法 xip2
但是 R3 版無法提取
http://www.pxdxa.com/read.php?tid=40125&fpage=2
剛剛出了release 3的版本了...


問個問題..如果想要加入mingliu.ttc字型要如何處理.
thankx
想請問要加入的檔案放入OEM還是直接替換就好?
沒有人有義務為你做任何事情.
請教monmon大大
像其他機種hp2100的wm5.0、wm6.0修改 paging pool 大小位置一樣嗎?

用 winhex 搜尋64 B0 00 00 64 00 00 00 74 9A 1F 80 00 00 48 00不到有沒其他方法解決

48 00 -> 00 03 -> 48M
謝謝你的回 答
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?