<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇Win CE 專區(qū)Wince技術(shù)討論區(qū) → Sun之糊志_D600更換wince.nls過(guò)程


      共有5821人關(guān)注過(guò)本帖樹(shù)形打印

    主題:Sun之糊志_D600更換wince.nls過(guò)程

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    Sun之糊志_D600更換wince.nls過(guò)程  發(fā)帖心情 Post By:2010-11-16 10:03:27

    俄羅斯黑客放出了HTC Gene P3400手機(jī)(國(guó)內(nèi)型號(hào)是Dopod D600)的windows mobile 6的ROM,國(guó)內(nèi)熱心的高手第一時(shí)間漢化了這個(gè)版本,并陸續(xù)放出了幾個(gè)改進(jìn)的穩(wěn)定版。本來(lái)并不打算升級(jí)自己的手機(jī)系統(tǒng),其一自己對(duì)手機(jī)的系統(tǒng)一無(wú)所知,其二刷ROM畢竟有很大的風(fēng)險(xiǎn),搞不好就會(huì)把手機(jī)搞報(bào)廢,但是猶豫了一下,還是為好奇心驅(qū)使,一閉眼,刷。
    整個(gè)刷機(jī)過(guò)程相當(dāng)順利,手機(jī)重新啟動(dòng)后進(jìn)入了WM6,測(cè)試各功能均正常,看來(lái)漢化的相當(dāng)好。可沒(méi)過(guò)多久就發(fā)現(xiàn)了一個(gè)問(wèn)題,就是無(wú)法通過(guò)WAP同步mail2web的exchange服務(wù)器,網(wǎng)上查了一下,好像沒(méi)法解決這個(gè)問(wèn)題。但網(wǎng)上使用其他型號(hào)的手機(jī)在升級(jí)WM6后也有發(fā)現(xiàn)了這個(gè)問(wèn)題的并提出了一些解決方案,可這些方案幾乎都被證實(shí)無(wú)效,最后發(fā)現(xiàn)一個(gè)替換wince.nls文件的解決方案尚存一絲希望,決定試一試。因?yàn)閷?duì)手機(jī)的系統(tǒng)軟件和破解工具一點(diǎn)感念都沒(méi)有,用了兩個(gè)晚上來(lái)回折騰,總算把問(wèn)題解決,現(xiàn)在記下來(lái),由于替換這個(gè)文件有一定的風(fēng)險(xiǎn),切莫模仿,風(fēng)險(xiǎn)自負(fù)。
    要替換wince.nls文件必需知道這個(gè)文件放在哪里,網(wǎng)上有其他型號(hào)手機(jī)的一些替換方法,不過(guò)都是直接定制ROM,也就是說(shuō)網(wǎng)上介紹的方法都是替換在ROM區(qū)的wince.nls,而D600中的這個(gè)wince.nls文件卻是放在了XIP中,也就是核心系統(tǒng)區(qū)域,傳說(shuō)在XIP中動(dòng)手腳,難度和風(fēng)險(xiǎn)要明顯高于一般的ROM區(qū)域,而且目前關(guān)于對(duì)XIP的修改幾乎沒(méi)有什么資料,xda-developers論壇上有一些提取和修改工具發(fā)放,但具體的使用方法都不怎么介紹,不過(guò)沒(méi)關(guān)系,零星的資料加上人類的想象力,開(kāi)工。


    首先,了解一下windows mobile手機(jī)的系統(tǒng)結(jié)構(gòu),像電腦一樣,手機(jī)加電后也有一個(gè)自舉程序,類似于電腦里的BIOS,這個(gè)自舉叫IPL,它負(fù)責(zé)手機(jī)硬件的I/O和調(diào)用第二個(gè)啟動(dòng)程序SPL,SPL是一個(gè)比較關(guān)鍵的東西,如果要自己刷手機(jī)ROM就要先更改這里,但這個(gè)只要改一次,所謂解鎖,以后就能隨便刷系統(tǒng)了,傳說(shuō)中手機(jī)變成磚頭的,也就是在刷SPL時(shí)出現(xiàn)錯(cuò)誤。這部分其實(shí)還是電腦BIOS的一部分,接著SPL就會(huì)去調(diào)用真正的主角windows mobile操作系統(tǒng)OS。通常定制ROM,就是定制這里。
    接著,看看OS怎么構(gòu)成,OS主要分成XIP、IMGFS兩大部分,其中XIP就是系統(tǒng)核心,而其他的軟件壓縮后放在IMGFS中,需要執(zhí)行時(shí)解壓到RAM中,類似于一般的海量存儲(chǔ)設(shè)備。而XIP則不同,XIP全稱是“eXecute In Place”,在XIP中存儲(chǔ)的程序是不需要加載到RAM就可以直接執(zhí)行的,所以在替換XIP中數(shù)據(jù)的時(shí)候一定要考慮物理地址的問(wèn)題。
    手機(jī)中還有一個(gè)ExtendedRom,通常是存放一些廠家定制的軟件,在恢復(fù)出廠設(shè)置時(shí)會(huì)自動(dòng)裝入系統(tǒng)。
    現(xiàn)在開(kāi)始替換,準(zhǔn)備工具,NBHTOOL,XIPTools,XIPPort,htcrt(必須是加入過(guò)HTC gene P3400/Dopod D600設(shè)備描述的),還有一個(gè)是msflshtool,這個(gè)不是必須的,但是由于網(wǎng)上沒(méi)找到D600XIP的寫(xiě)入地址介紹,無(wú)意中發(fā)現(xiàn)這個(gè)工具可以分析出來(lái)。
    步驟:
    一、ROM選用宇軒r3.6的精簡(jiǎn)宋體版,用NBHTOOL工具分離出Windows.nb和ExtendedRom.nb,這個(gè)沒(méi)什么好說(shuō)的,運(yùn)行程序就是一個(gè)界面,點(diǎn)擊“Decompile NBH file”按鈕,選中刷機(jī)ROM的NBH文件,然后指定結(jié)果輸出目錄即可。分解出來(lái)的ExtendedRom.nb不去動(dòng)它,用操作的是Windows.nb文件。
    二、打開(kāi)XIPTools工具,在“Extract”選項(xiàng)卡上選好“OS File”和“Output File”文件,OS File就是剛才分離出來(lái)的Windows.nb,Output File可以取名為XIP.bin,然后點(diǎn)擊XIP2,XIP就被分解出來(lái)了。點(diǎn)擊Xipport按鈕,調(diào)出XIPPort工具。
    三、主要的重點(diǎn)工作就在這里。在XIPPort工具窗口上,點(diǎn)擊“dump xip.bin”按鈕,執(zhí)行后,目錄里會(huì)多出一個(gè)“OUT”子目錄,這個(gè)目錄下會(huì)出現(xiàn)兩個(gè)文件和Files、Modules兩個(gè)子目錄,要替換的wince.nls文件就在FILES目錄下。
    先不急著替換,點(diǎn)擊“write maps”按鈕,OUT目錄下會(huì)多出兩個(gè)文本文件,MAP.txt和MAP.physical.txt,備份好這兩個(gè)文件并打開(kāi)MAP.txt來(lái)分析它,這里有一句“8c33d4a0 - 8c41618a L000d8cea filedata wince.nls”,猜猜它的意思,很明顯,這個(gè)意思是說(shuō)wince.nsl文件的數(shù)據(jù)是儲(chǔ)存在從8c33d4a0到8c41618a的地址區(qū)間的,長(zhǎng)度是000d8cea,那怎么修改呢,MAP.txt只是一個(gè)分析報(bào)表輸出文件,一定有地方告訴它。
    打開(kāi)FILE子目錄,wince.nsl就在這里,邊上還有一個(gè)wince.nls.imageinfo文件,看看它是做什么的,打開(kāi)文件,關(guān)注這兩條:
    nRealFileSize: 000D8CEA
    nCompFileSize: 000D8CEA
    原來(lái)是在這里說(shuō)明了文件的長(zhǎng)度,很明顯,這個(gè)文件沒(méi)有被壓縮儲(chǔ)存,實(shí)際長(zhǎng)度和壓縮長(zhǎng)度相同,這個(gè)長(zhǎng)度是哪里來(lái)的呢,右擊wince.nls文件,點(diǎn)“屬性”,顯示“大。867 KB (888,042 字節(jié))”,打開(kāi)windows附件里的計(jì)算器,算一算,咦,怎么這么巧,原來(lái)十六進(jìn)制的0D8CEA正正好好等于888,042,(數(shù)學(xué)家真?zhèn)ゴ螅。好了,現(xiàn)在我們拷貝自己的wince.nls去替換這個(gè)FILES目錄下原來(lái)的那個(gè)wince.nls,而新的wince.nls的長(zhǎng)度是889,018 字節(jié),換算成十六進(jìn)制就是...多少來(lái)著?忘了,問(wèn)問(wèn)數(shù)學(xué)家去:-)。好,現(xiàn)在將這個(gè)新的十六進(jìn)制數(shù)據(jù)替換wince.nls.imageinfo文件里的老數(shù)據(jù)。
    接著,在生成新的XIP之前,還要做一件重要的事。由于數(shù)據(jù)在存儲(chǔ)器里是一個(gè)挨著一個(gè)排排坐的,現(xiàn)在換了新文件比原來(lái)那個(gè)胖,就要占別人的位置,怎么辦,那就要一個(gè)一個(gè)將后面的老兄往后挪,手工的做起來(lái)也能做,但很麻煩,還要注意上面儲(chǔ)存文件名中的鏈表指針也要相應(yīng)修改,如果能不出錯(cuò)該完,說(shuō)不定真的變成數(shù)學(xué)家了:P。XIPPort提供了一個(gè)工具可以幫助解決這個(gè)問(wèn)題,按“realloc P”按鈕,搞定,再write一個(gè)Maps,看看新的Map.txt,只要里面沒(méi)有“。。。!”這樣的字符,就基本搞定,不過(guò)再仔細(xì)檢查一下那些地址變動(dòng)了。用WinMerge對(duì)比一下兩個(gè)文件,看看是不是鏈表和數(shù)據(jù)地址都被改變了。
    現(xiàn)在可以重新生成XIP.bin文件了,按“build xip_out.bin”按鈕,目錄中就會(huì)生成一個(gè)新的xip_out.bin文件,這個(gè)XIP就是已經(jīng)被替換了wince.nls的XIP了。
    XIP.bin是從windows.nb中提取出來(lái)了,那么,新的XIP也要回寫(xiě)回去,XIPPort工具中有一個(gè)“write xip_out.bin to:”按鈕就是來(lái)處理這個(gè)事的,但是,這個(gè)回寫(xiě)地址是多少呢,網(wǎng)上沒(méi)有說(shuō)明的,XIPPort的默認(rèn)地址是00310000,千萬(wàn)不能就這么寫(xiě)進(jìn)去,這個(gè)地址不是D600的。好,現(xiàn)在再用一個(gè)法寶,msflshtool。
    其實(shí)msflshtool完全可以代替XIPTools的工作提取windwos.nb中的XIP,但因?yàn)槭荄OS命令沒(méi)有XIPTools來(lái)得直觀和簡(jiǎn)便,所以就不用它,無(wú)意中發(fā)現(xiàn)msflshtool的L開(kāi)關(guān)正好幫助解決了回寫(xiě)地址的問(wèn)題。
    在DOS狀態(tài)下,執(zhí)行
    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>這句,回寫(xiě)地址來(lái)了,原來(lái)地址是00313800,長(zhǎng)度是333000,不用去管長(zhǎng)度,在XIPPort中填入這個(gè)“00313800”,回寫(xiě)到windows.nb文件中。
    四、怎么來(lái)就還是怎么回去,既然刷機(jī)ROM的nbh文件分解出了Windows.nb和ExtendedRom.nb兩個(gè)文件,現(xiàn)在針對(duì)Windows.nb的修改已經(jīng)OK了,那么還是要把這兩個(gè)文件合并成刷機(jī)ROM的nbh文件,不過(guò)來(lái)的時(shí)候用的是NBHTOOL工具,回去時(shí)就要用到htcrt工具了。
    打開(kāi)htcrt,點(diǎn)擊“ROM builder”選項(xiàng)卡,左側(cè)“device”下拉框中選擇“Gene”這個(gè)就是D600,右側(cè)的“Firmware contents”中只選“ext.ROM: 和“OS:”兩項(xiàng),分別是文件ExtendedRom.nb和Windows.nb,上面的千萬(wàn)都不能選,好,點(diǎn)擊“Build!”按鈕,選一個(gè)文件名,不一會(huì)兒,新的刷機(jī)文件就生成了。
    五、刷機(jī)。重啟后,這是exchange同步,久違的:正在查找更新“終于出現(xiàn)了。
    wince.nls是一個(gè)碼表文件,要選擇一個(gè)合適的文件才能設(shè)置中國(guó)區(qū)域,但宇軒r3.6的精簡(jiǎn)宋體版中的wince.nls雖然支持中國(guó)區(qū)域,但卻不能通過(guò)WAP同步mail2web,而現(xiàn)在這個(gè)同樣支持中國(guó)區(qū)域設(shè)置,又能解決mail2web同步問(wèn)題。網(wǎng)上還看到一個(gè)1.5M左右的wince.nls文件,支持中日韓,但由于文件的大小突出了XIP的余量,試了一次把它移到ROM,在XIP中刪除,但沒(méi)有成功,看來(lái)XIP的水還真有點(diǎn)深,怪不得很少有資料。


    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    Sun之糊志_D600更換wince.nls過(guò)程








    簽名
    主站蜘蛛池模板: 妇乱子伦精品小说588| 欧美精品videosex极品| 国产精品一区二区资源| 不卡一卡二卡三亚洲| 日本免费www| 亚洲大片免费看| 激情偷乱在线观看视频播放| 国产乱理伦片a级在线观看| 2022男人天堂| 在线观看免费人成视频| 丰满少妇人妻无码| 日韩人妻精品一区二区三区视频 | 免费黄色在线网址| 翁虹三级在线伦理电影| 国产精品v欧美精品∨日韩 | 欧美成人亚洲高清在线观看| 公和我乱做好爽添厨房中文字幕| 老师让我她我爽了好久视频| 国产特级毛片AAAAAA高潮流水| chinesehd国产刺激对白| 快点cao我要被cao烂了男女| 久久精品亚洲综合专区| 李宗60集奇奥网全集| 亚洲视频第一页| 男男动漫全程肉无删减彩漫| 国产三级香港三韩国三级| 高贵的你韩剧免费观看国语版| 国产精彩对白综合视频| √天堂资源地址在线官网 | 免费观看a级毛片| 精品视频一区二区| 国产午夜无码精品免费看 | 日本一区二区三| 亚洲av无码片一区二区三区| 欧美在线视频导航| 亚洲黄色小说网| 激情网站免费看| 全部在线播放免费毛片| 精品人妻中文字幕有码在线| 国产一级理论片| 色一情一乱一伦一视频免费看 |