右欄
歡迎您:游客!請先
登錄
或
注冊
風格
恢復默認設置
|
展區
文件集瀏覽
圖片集瀏覽
Flash瀏覽
音樂集瀏覽
電影集瀏覽
|
搜索
|
社區游戲中心
曙海教育集團論壇
→
Win CE 專區
→
Wince技術討論區
→ Sun之糊志_D600更換wince.nls過程
新的主題
投票帖
交易帖
小字報
下一主題 >>
<< 上一主題
共有
5827
人關注過本帖
樹形
打印
主題:Sun之糊志_D600更換wince.nls過程
wangxinxin
小
大
1樓
個性首頁
|
博客
|
信息
|
搜索
|
郵箱
|
主頁
|
UC
加好友
發短信
等級:青蜂俠
帖子:
1393
積分:14038
威望:0
精華:0
注冊:
2010-11-12 11:08:23
Sun之糊志_D600更換wince.nls過程
Post By:2010-11-16 10:03:27
俄羅斯黑客放出了HTC Gene P3400手機(國內型號是Dopod D600)的windows mobile 6的ROM,國內熱心的高手第一時間漢化了這個版本,并陸續放出了幾個改進的穩定版。本來并不打算升級自己的手機系統,其一自己對手機的系統一無所知,其二刷ROM畢竟有很大的風險,搞不好就會把手機搞報廢,但是猶豫了一下,還是為好奇心驅使,一閉眼,刷。
整個刷機過程相當順利,手機重新啟動后進入了WM6,測試各功能均正常,看來漢化的相當好。可沒過多久就發現了一個問題,就是無法通過WAP同步mail2web的exchange服務器,網上查了一下,好像沒法解決這個問題。但網上使用其他型號的手機在升級WM6后也有發現了這個問題的并提出了一些解決方案,可這些方案幾乎都被證實無效,最后發現一個替換wince.nls文件的解決方案尚存一絲希望,決定試一試。因為對手機的系統軟件和破解工具一點感念都沒有,用了兩個晚上來回折騰,總算把問題解決,現在記下來,由于替換這個文件有一定的風險,切莫模仿,風險自負。
要替換wince.nls文件必需知道這個文件放在哪里,網上有其他型號手機的一些替換方法,不過都是直接定制ROM,也就是說網上介紹的方法都是替換在ROM區的wince.nls,而D600中的這個wince.nls文件卻是放在了XIP中,也就是核心系統區域,傳說在XIP中動手腳,難度和風險要明顯高于一般的ROM區域,而且目前關于對XIP的修改幾乎沒有什么資料,xda-developers論壇上有一些提取和修改工具發放,但具體的使用方法都不怎么介紹,不過沒關系,零星的資料加上人類的想象力,開工。
首先,了解一下windows mobile手機的系統結構,像電腦一樣,手機加電后也有一個自舉程序,類似于電腦里的BIOS,這個自舉叫IPL,它負責手機硬件的I/O和調用第二個啟動程序SPL,SPL是一個比較關鍵的東西,如果要自己刷手機ROM就要先更改這里,但這個只要改一次,所謂解鎖,以后就能隨便刷系統了,傳說中手機變成磚頭的,也就是在刷SPL時出現錯誤。這部分其實還是電腦BIOS的一部分,接著SPL就會去調用真正的主角windows mobile操作系統OS。通常定制ROM,就是定制這里。
接著,看看OS怎么構成,OS主要分成XIP、IMGFS兩大部分,其中XIP就是系統核心,而其他的軟件壓縮后放在IMGFS中,需要執行時解壓到RAM中,類似于一般的海量存儲設備。而XIP則不同,XIP全稱是“eXecute In Place”,在XIP中存儲的程序是不需要加載到RAM就可以直接執行的,所以在替換XIP中數據的時候一定要考慮物理地址的問題。
手機中還有一個ExtendedRom,通常是存放一些廠家定制的軟件,在恢復出廠設置時會自動裝入系統。
現在開始替換,準備工具,NBHTOOL,XIPTools,XIPPort,htcrt(必須是加入過HTC gene P3400/Dopod D600設備描述的),還有一個是msflshtool,這個不是必須的,但是由于網上沒找到D600XIP的寫入地址介紹,無意中發現這個工具可以分析出來。
步驟:
一、ROM選用宇軒r3.6的精簡宋體版,用NBHTOOL工具分離出Windows.nb和ExtendedRom.nb,這個沒什么好說的,運行程序就是一個界面,點擊“Decompile NBH file”按鈕,選中刷機ROM的NBH文件,然后指定結果輸出目錄即可。分解出來的ExtendedRom.nb不去動它,用操作的是Windows.nb文件。
二、打開XIPTools工具,在“Extract”選項卡上選好“OS File”和“Output File”文件,OS File就是剛才分離出來的Windows.nb,Output File可以取名為XIP.bin,然后點擊XIP2,XIP就被分解出來了。點擊Xipport按鈕,調出XIPPort工具。
三、主要的重點工作就在這里。在XIPPort工具窗口上,點擊“dump xip.bin”按鈕,執行后,目錄里會多出一個“OUT”子目錄,這個目錄下會出現兩個文件和Files、Modules兩個子目錄,要替換的wince.nls文件就在FILES目錄下。
先不急著替換,點擊“write maps”按鈕,OUT目錄下會多出兩個文本文件,MAP.txt和MAP.physical.txt,備份好這兩個文件并打開MAP.txt來分析它,這里有一句“8c33d4a0 - 8c41618a L000d8cea filedata wince.nls”,猜猜它的意思,很明顯,這個意思是說wince.nsl文件的數據是儲存在從8c33d4a0到8c41618a的地址區間的,長度是000d8cea,那怎么修改呢,MAP.txt只是一個分析報表輸出文件,一定有地方告訴它。
打開FILE子目錄,wince.nsl就在這里,邊上還有一個wince.nls.imageinfo文件,看看它是做什么的,打開文件,關注這兩條:
nRealFileSize: 000D8CEA
nCompFileSize: 000D8CEA
原來是在這里說明了文件的長度,很明顯,這個文件沒有被壓縮儲存,實際長度和壓縮長度相同,這個長度是哪里來的呢,右擊wince.nls文件,點“屬性”,顯示“大小:867 KB (888,042 字節)”,打開windows附件里的計算器,算一算,咦,怎么這么巧,原來十六進制的0D8CEA正正好好等于888,042,(數學家真偉大)。好了,現在我們拷貝自己的wince.nls去替換這個FILES目錄下原來的那個wince.nls,而新的wince.nls的長度是889,018 字節,換算成十六進制就是...多少來著?忘了,問問數學家去:-)。好,現在將這個新的十六進制數據替換wince.nls.imageinfo文件里的老數據。
接著,在生成新的XIP之前,還要做一件重要的事。由于數據在存儲器里是一個挨著一個排排坐的,現在換了新文件比原來那個胖,就要占別人的位置,怎么辦,那就要一個一個將后面的老兄往后挪,手工的做起來也能做,但很麻煩,還要注意上面儲存文件名中的鏈表指針也要相應修改,如果能不出錯該完,說不定真的變成數學家了:P。XIPPort提供了一個工具可以幫助解決這個問題,按“realloc P”按鈕,搞定,再write一個Maps,看看新的Map.txt,只要里面沒有“!!!!!”這樣的字符,就基本搞定,不過再仔細檢查一下那些地址變動了。用WinMerge對比一下兩個文件,看看是不是鏈表和數據地址都被改變了。
現在可以重新生成XIP.bin文件了,按“build xip_out.bin”按鈕,目錄中就會生成一個新的xip_out.bin文件,這個XIP就是已經被替換了wince.nls的XIP了。
XIP.bin是從windows.nb中提取出來了,那么,新的XIP也要回寫回去,XIPPort工具中有一個“write xip_out.bin to:”按鈕就是來處理這個事的,但是,這個回寫地址是多少呢,網上沒有說明的,XIPPort的默認地址是00310000,千萬不能就這么寫進去,這個地址不是D600的。好,現在再用一個法寶,msflshtool。
其實msflshtool完全可以代替XIPTools的工作提取windwos.nb中的XIP,但因為是DOS命令沒有XIPTools來得直觀和簡便,所以就不用它,無意中發現msflshtool的L開關正好幫助解決了回寫地址的問題。
在DOS狀態下,執行
C:\Dopod\MSFlshTool>msflshtool.exe Windows.nb -l
***********************************************************
msflsh50dump v0.1 code by blueboy
***********************************************************
partinfo
part <0> offset <00000400> size <00313400>
part <1> offset <00313800> size <00333000>
part <2> offset <00646800> size <0338E800>
end
看看part <1> offset <00313800> size <00333000>這句,回寫地址來了,原來地址是00313800,長度是333000,不用去管長度,在XIPPort中填入這個“00313800”,回寫到windows.nb文件中。
四、怎么來就還是怎么回去,既然刷機ROM的nbh文件分解出了Windows.nb和ExtendedRom.nb兩個文件,現在針對Windows.nb的修改已經OK了,那么還是要把這兩個文件合并成刷機ROM的nbh文件,不過來的時候用的是NBHTOOL工具,回去時就要用到htcrt工具了。
打開htcrt,點擊“ROM builder”選項卡,左側“device”下拉框中選擇“Gene”這個就是D600,右側的“Firmware contents”中只選“ext.ROM: 和“OS:”兩項,分別是文件ExtendedRom.nb和Windows.nb,上面的千萬都不能選,好,點擊“Build!”按鈕,選一個文件名,不一會兒,新的刷機文件就生成了。
五、刷機。重啟后,這是exchange同步,久違的:正在查找更新“終于出現了。
wince.nls是一個碼表文件,要選擇一個合適的文件才能設置中國區域,但宇軒r3.6的精簡宋體版中的wince.nls雖然支持中國區域,但卻不能通過WAP同步mail2web,而現在這個同樣支持中國區域設置,又能解決mail2web同步問題。網上還看到一個1.5M左右的wince.nls文件,支持中日韓,但由于文件的大小突出了XIP的余量,試了一次把它移到ROM,在XIP中刪除,但沒有成功,看來XIP的水還真有點深,怪不得很少有資料。
支持
(
0
)
中立
(
0
)
反對
(
0
)
單帖管理
舉報帖子
使用道具
|
引用
|
回復
下一主題 >>
<< 上一主題
返回版面帖子列表
Sun之糊志_D600更換wince.nls過程
回復標題:
上傳附件:
簽名
:
不顯示
顯示
RSS2.0
Xhtml無圖版
Xslt無圖版
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
頁面執行時間 0.03125 秒, 3 次數據查詢
主站蜘蛛池模板:
国产精品亚洲五月天高清
|
久久久久人妻精品一区蜜桃
|
亚洲av无码欧洲av无码网站
|
久久成人国产精品一区二区
|
中文字幕永久在线观看
|
avtt在线播放
|
欧美乱强伦xxxxx高潮
|
中文字幕精品视频在线观
|
免费看国产一级特黄aa大片
|
亚洲男人电影天堂
|
久久精品九九亚洲精品
|
www.中文字幕
|
香港三级欧美国产精品
|
粉嫩被粗大进进出出视频
|
欧美亚洲一区二区三区
|
成在人线AV无码免费高潮喷水
|
国语高清精品一区二区三区
|
国产女主播福利在线
|
免费大片av手机看片
|
亚洲av无码专区国产乱码不卡
|
中国一级特黄大片毛片
|
4444在线网站
|
白医生的控制欲
|
日韩欧美亚洲国产精品字幕久久久
|
久久国产精品自由自在
|
a毛片免费观看完整
|
色碰人色碰人视频
|
欧美精欧美乱码一二三四区
|
日日噜噜噜夜夜爽爽狠狠视频
|
国模吧双双大尺度炮交gogo
|
国产乱子伦精品视频
|
亚洲欧美成人永久第一网站
|
中文字幕日韩精品有码视频
|
18禁网站免费无遮挡无码中文
|
男女性爽大片视频男女生活
|
日本韩国在线视频
|
国产精品青草久久久久福利99
|
午夜精品在线视频
|
么公的又大又深又硬想要
|
99在线观看精品免费99
|
窝窝免费午夜视频一区二区
|