我把我知道的關于刷機方面的和有關SHX升級軟件包方面的知識全部寫出來,希望對比較瘋狂的手機愛好者來說,有一點點的用處!我盡自己最大的能力來保證這份文檔的正確性,不過還是要小心對待,根據自己的能力,要知道自己在做什么,你需要什么...
也許大家對刷機方面是最關注的,那就首先說吧。關于刷機可以說每個玩家們都已經刷過機了,不過對于極端冒險的刷機行為或者是不知情的刷機后出現的種種意外,對每個玩家來說都是不愿意看到的,所以首先來說說刷機前應該做些什么,應該怎樣讓自己的愛機變成不死鳥,想永遠都刷不死...這也許不是不可能的,不過要你對刷機方面有些經驗才行...
一.備份工具Ramldr.我認為有條件的最好在刷機前做好手機的備份工作,這是很重要的,它可以說就是你的救命稻草!請切記,切記!以前要是想從手機內部讀出存儲器里的資料,就難比上青天,只有專業的修手機的人,他們有能讀取手機的硬件設備,如市場上很熟悉常見的UP128和最新的UP256!但是現在有了Ramldr,一切都不同了,我們也可以有自己手機的救命稻草了!還有現在剛出了Ramldr的簡單版本,更加容易的對手機進行備份和使備份恢復至手機,省略了輸入手機內部數據的相關程序,完全可以用來代替Ramldr!但是也一定要解釋備份工具究竟是從手機什么地方開始備份,來明白備份出來的資料究竟是怎么一回事。我先把如何備份手機內部所有的資料的數據和Ramldr備份工具的使用方法公布下,然后再諑一說明下SHX文件的常識!
1,使用說明 它能復制手機所有的資料,并且能夠分開復制手機資料里的各個區域!恢復手機資料到手機后就是將你手機刷機前的所有資料原原本本的還原到手機,包括你的短信,通話記錄等等,就好像是時光倒流到你刷機前的狀態...
2,適合什么手機 摩托羅拉基于P2K手機平臺的手機, C380, C650, V180, V220, E398, V3, V300, V500, V600,這些手機已測試成功,如果V535,V550,V547,V620,V635想用的話就要改變下手機的Bootloaer版本,比如我已測試V620如果改變Bootloaer成為E398的07D3版本話,也可以順利使用!或者只要Bootloaer的版本是07DD,07E0,,07D3,0820,0823,0826等等的都能用!因為只有這樣,Ramldr備份工具里的ldr.bin文件才能順利引導寫入手機,讀出手機里的存儲資料!
3.開始備份手機全部的32M資料 注意:在手機正常情況下;
(1) 連接成功Ramldr后,如圖所示,左上框顯示是你手機現在進入了Flash模式.左下角是顯示你的手機連接,如Not connect就是表示沒有連接成功,"Connected"則表示連接。 我在圖上對各個菜單都注明了中文,希望能看懂!
(2)選擇菜單中的"send Ramldr",打開里面的Ldr文件。(在下載的Ramldr里的文件夾里,看上圖)
(3)在Base addr里,輸入10000000.
在Entry addr里,輸入12000000. (4)點擊save mem.這是保存的手機全部備份的10000000文件在Ramldr文件夾里,備份成功后再注意查看下是不是32M大小!(請千萬小心對待這個手機全部備份的32M資料,它就是你手機的救命稻草,不過不能給別人用,因為它是你手機全部的資料,含有手機里的一些加密部位,別人刷后不光是開不了機,也許是永遠不開機的,我在后面慢慢解釋)
4.備份手機里的PDS資料;
(1)確保連接成功
(2)選擇 菜單中的"send Ramldr",打開里面的Ldr_pds文件。(在下載的Ramldr里的文件夾里)
(3)在Base addr里,輸入10010000.
在Entry addr里,輸入10020000.
(4)點擊save mem.這是保存手機備份的PDS資料,是10010000文件,在Ramldr文件夾里,注意查看下是不是64K大小!
順便說下,V535的備份PDS位置是10018000,1002800!
5.再公布下手機存儲區中中各個區域的手機對應位置(可參考用來做一體包),注意是E398機型,要發送ldr文件到手機,進行各個區域的備份;不能發送ldr_pds文件到手機,那是備份PDS資料的!
BOOTLOADER(引導裝入): 03FD0000 ,03FF0000
FLASH: 10080000 , 10D00000.
FLEX: 11140000 , 11FE0000
DSP: 10040000 , 10080000
LANGPACK(語言包): 10F40000 ,11140000
DRM(手機內的全部圖標): 10D00000 , 10F00000
SIGNATURE(簽名): 11FE0000 , 11FE0800
6,如何上傳備份的二進制文件到手機,如備份32M的1000000文件上傳至手機,其余以此類推;
(1)連接成功Ramldr,
(2)選擇菜單中的“send Ramldr",打開里面的Ldr文件;
(3)點擊Erace,即抹去你電話里的錯誤的混亂的FLASH資料,靜靜等待五分鐘左右;
(4)在Base addr里,輸入10000000,(注意:你要上傳什么文件到手機到手機,就輸入備份文件的開頭數據,FLEX備份就是輸入11140000;但是PDS備份就打開Ldr.pds文件,再輸入10010000,)
(5)在send Binary菜單里選擇你要發送的二進制文件到手機,如發送你備份的32M文件到手機;
(6)靜靜的等待二十分鐘,完成你的全部備份到手機!然后點擊Restart,關閉手機!OK啦!
7.請注意你備份的10000000文件(全部備份的32M大小),和10010000(PDS,64K大小),只能自己用,不能給別人用,因為PDS是手機FLASH里加密部位,它包括手機里的IMIE號碼(即手機串號),而每個人的手機的IMEI號是不一樣的,所以你用了別人的備份后是很難開機的,目前有一個解密PDS的工具,可以將你壞死的PDS解密成SEEM文件,然后根據你自己的手機IMIE號來破解!PDS也有版本之分的,已知的有20061和40011等等版本...
先說說FLASH的結構。FLASH是裝載手機程序,存放用戶信息,存放手機工作參數的載體,FLASH一般包括下面幾個部份,如圖:
*常見FLASH區域:NOR FLASH,存放手機的整個程序和字庫,圖形,音樂等信息。
*參數區域:存放手機的工作參數,和一些與其它部位相對應的密碼。
*加密位或者隱含扇區:是獨立于常規區域的一個小部份,存放的是一些加密信息,必須和FLASH參數區域對應。
*NAND FLASH:大容量的存儲器,用來存儲MP3,電影等等,就是等同于U盤一樣.但我們的小三沒有,398采用了。
*還有就是暫存器(RAM):運行手機程序,就像電腦的內存一樣。
二. 對于一般玩家來說,或者用這個備份工具更好!Random's FlashBackup 0.5!
是Ramldr的簡化更新版本,不要你那么費事了,你只要連接成功后,選擇你想備份什么,是備份全部資料的BIN文件(32M),還是備份PDS(64K),備份成功后的文件存儲在Random's FlashBackup文件夾里,你如果刷了不可刷的版本或者不知怎么開不了機,想恢復資料到手機的話,直接一鍵就搞定,很方便,適合初級玩家!我會上傳漢化版本的到先鋒互動,希望大家能都成為不死鳥!嘿嘿,注意下的是V系列和E398的全部備份都是32M,C380, C650, V180, V220系列的完整備份是16M!
不過對于備份工具的出現,大家也不要抱著太大的期望,想什么版本都敢刷,任意而為,有一種情況是備份工具在有時也恢復不了的,就是你升級了BOOtloader版本后,它的ldr文件(或者說它是加載器)不能引導進入手機,無法恢復資料到手機!辦法是用將你備份的全部資料做成SHX格式的一體刷機包,通過大家常用的MFF刷入機內,不過升級了BOOtloader版本后,雖然能刷入機內,但是還不能開機,嘿嘿,不過成功刷入機內后,就很容易了,就是將更高版本的的BOOtloader的引導裝置制成SHX格式刷入機內,就能開機了,自己可以從一些更高版本的FLASH中提取。也或者可以直接把高版本的BOOtloader加入到自己的備份資料一體包中,刷入機內,BOOT版本07DE,0810的和0823的也可以使我們的398開機,確實有需要的但是又不會做的,可以找一些高手來盡力來幫忙制作一下!(我們可以視把這個BOOTLOADER引導裝置理解為驅動也可!)
還有一種最新出來的備份工具包,功能是很全面的,很簡單的將備份資料轉換成SHX格式,還可以備份自己的BOOTLoader版本,對常常刷機的朋友也許有點用!不過還是那句話,不要將自己的一體包上傳到網站給別人刷!我不負任何責任的,嘻嘻!想做一體包,有其它的工具,不過要你對SHX文件要有足夠的認識!我在文章后面會慢慢解釋的,不能寫太多很了,我自己都感到很累啊...
如果你真的是無可救藥了的話,也還是有辦法的,就是你一定要把手機刷到空白狀態下,然后刷一個空白FLASH,(關于這個FLASH,我也不太明白,我在一個網站找到后欣喜若狂,他們理解為恢復性的FLASH資料,但是在刷機狀態下,它用抹去FLASH的時間很長很長,在成功刷完開機后,手機變成了一片空白,但手機是成功開機了,在MFF的連接狀態上也顯示“連接Motorola”,所以只能把它理解為空白的FLASH資料,呵呵),接著再刷適合你的手機的一體包就OK啦!我只搞到一個這樣的資料,但是對我來說它真的很有用,不過對一般人來說是不需要的。如果真的有人試盡所有辦法都不開機的話,那么在中國,或許有一個人能讓你起死回生,這個人就是TONY,QQ是417350097!他是專門靠刷機為生的,他像這樣的資料據說有很多最新的和不同手機型號需要的版本,他一天到晚都對手機上研究,對摩托羅拉的很多手機頗有研究!我以前的V303就是他想辦法只換了個字庫,沒有涉及主板就徹底變成了V620,現在也擁有了面板攝像!不過他也有難言之隱,他的資料是不想對外公布的,他要從事商業用的,哎!為生活奔波的人啊.......
三.SHX文件的常識,
SHX文件的通常的3種類型:
(1)Lang Pack 語言包-包括手機語言集和字體,可以使手機快速更改可用的語言而不用修改整個手機FLASH芯片,語言包不會更改用戶數據,FLASH或者FLEX,只包含BOOtloader(引導區)和一個語言包,通常在2M大小左右。
(2 Flash 手機的升級文件,包含引導裝入(ROM),Flash,DSP,語言包,DRM(制圖),和Signature(簽名)。一般正常帶語言包(Lang Pack),不過我們在先鋒上傳FLASH文件時一般會把語言包刪除掉,這樣我們刷機過后,原來是什么語言刷過后也還是什么語言,而沒有改變語言!因為我們在外國網站上找到的FLASH包一般都是帶外語的語言包。方便一般的朋友刷機時刷完FLASH后,不用再刷中文語言包了,不過有時也根據需要要帶上相匹配的中文語言包,如V3的41C3R,用9CR的中文語言包在41C3R的版本中查看不了內存!所以在上傳時就把相匹配的中文語言包41COR的中文語言包加上去,這樣就省去了很多朋友的麻煩!
(3)Monster Pacd 我們通常簡稱為一體包;和FLASH內容相似,但是包括FLEX在內,包括引導裝入,FLASH,FLEX,DSP,Lang Pack, DRM,Signture;是手機FLASH芯片完整的升級軟件包!但是注意在升級時會清除你的數據,因為帶FLEX! 不過也還有一種類型是很少見的,就是SHX格式的FLEX,但通常用來強刷進去的,比方說刷HS格式的FLEX刷不進機內,所以就把它轉換成SHX格式,然后強刷進去!
四.文章最后要說的,就是希望能自己修改SHX文件,能做出更高版本的FLASH升級軟件等等,我只能把我所知道的一切一切都寫進去,見諒了! 這也是面向已有比較高水平的十六制編輯經驗的高級用戶,如果你不知道什么是"詞,字節,徧移,位,字符.乖乖那就不要浪費時間去看了,寫這個東西的時候已經寫了很多應該注意的地方!XV132在外國是作為很常用的SEEM文件修改工具,就像我們常用的SEEMPLAYER工具一樣。但是對于修改SHX文件來說是遠遠不夠的。HEX SWORK十六進制編輯工具大慨是目前效果很不錯的編輯工具!
Random–SHX 目前有許許多多的SHX-BIN工具,但這個是最值得稱贊的,在此對其它工具的作者說聲抱歉.這個程序是唯一可以準確地從BIN重建SHX文件的工具,唯一不能做的是不能重新計劃文件頭,也就是這篇文章所要說明的東西.
SHX文件里都必須要包括一個:HEADER的開頭文件;你要是做過一體包的話,就該知道,你的工具里必須帶有一個“header"BIN文件,不同手機是不一樣的,所以一般比較全面的做一體包工具里都帶了幾個不同手機的ROM,比如C650的,V系列的,E398的!
前8KB是SHX文件的文件頭,用十六進制編輯工具打開看,一般第一部份都寫著”P2K Superfle",接著是任意版本號,文件建立的日期,再下來是用來標記是用什么樣的程序來建立這些SHX文件的。接下來的0x3b0到0x600范圍是這個SHX文件的內存區的信息.你下來要修改的大部分都在這里,再接著你會發現都是0直到由0x2000開始的實際數據。 這個文件清楚地切斷文件的前面并用RandomSHX解至Bin格式。下一部分是數據區,我并不知道準確的格式,是從已經成功把SHX轉換BIN文件的那些程序那知道的。不同的數據段是以一個S####來區分的。數據是以字符的形式來描述要被寫入ROM的十六進數據,這就是SHX文件比E398的ROM大2倍的原因(43M 比32m)。
RondomSHX可以做2件事情,一可以將SHX文件轉換成合法的BIN的格式,二可以將合法的BIN文件加個一個LST文件然后轉換回SHX文件.LST文件保存每個BIN文件的開始地址 , 這個文件在RANDOMSHX把SHX文件合并時必需的,并且是在分割SHX文件時由RANDOMSHX自動產生。完整的一體包解壓后的SHX分為0-7的一共8個BIN格式文件。
需要注意的是:
(1)不同的型號手機中的LST文件是不同的,比如, V635中語言包的LST文件和E398的語言包LST文件是不一樣的,(不過V3的語言包倒是和E398的結構差不多,我試過刷V3的語言包能到398)
(2)相同手機的語言包LST是相同的
(3)相同手機的MONSTER包是相同的
(4)相同手機的FLASH的LST是相同的
(5)LST文件只能有一行來記錄每個BIN文件(不能多也不能少)
(6)含有錯誤文件地址的BIN文件將會誤導FLASH軟件把數據放入手機中錯誤的區, 結果將會引起死機(這里的死是完全不能用的意思) , 所以在使用RANDOMSHX之前請雙重檢查這些文件.
BIN文件是手機內存所保存的精確映像. 大部分情況是一些隨機的十六進文件. 但經由十六進編輯器打開后, 相似類型的BIN文件(如語言包,引導區,FLASH,等等),會共享模板(PATTERNS) , 模板就像一個由”1093 1074”開頭0000結束的一個大段,通常在文件的某個地區會有連續3個單詞所組成的短語”Motorola App Signature(moto程序簽名)”. 通過這些模板你可以確定你正在查找的BIN文件.大部分情況下你不需要編輯BIN文件. 這些是經過編譯的機器 ,如果試圖去直接編輯那么可能會引起不穩定或者死機…甚至更糟。
同樣 ,不能混合不同手機的BIN文件,下面的是例外的, 好像V3和E398可以互相交換語言包和FLEX.唯一重要的就是它們的長度. 這些長度在BIN文件的最后徧移字節中可以找到,并不是文件結束的字節而是最后的稨移,即是文件結束前的字節。下一個比較重要的是檢驗碼,檢驗碼就是將所有的字節累加起來,結果只取后面的4位.如果你以MFF來刷機的話將會進行相同的檢查,如果檢驗碼不匹配MFF將會報告已經損壞。好像不同的BIN文件有不同的檢驗碼,我也不知道其中的算法. 不過我注意到一個比較通用的東西,在計算檢驗碼之前要把字節轉換成數值形式. 下面是所有BIN文件的總結,每個總結是頭部一個段,這涉及到BIN0文件的一個稨移.BIN0文件像SHX文件的前8KB一樣保存關于SHX包的所有信息.在頭部的描述中十六進制的數字你要由改為””####”的方式來顯示,如果數字是一個常數的話那么就沒有必要去更改了,如果改了這些數字將會引導刷機失敗.也不是所有情況都是這樣的,最好參見每個稨移的附加說明;
用HEX十六進制編輯工具打開:0x3B0] 0800 FD03 F7FF FE03 03FE F800 B172 0203 0100 , 1.前三個字節相同的機是一模一樣的
2.這是Rom里的起始地址,
3這是最后的字節在二進制文件-DOS擴展名.
4.這是結尾地址
5.ROM里的地址
6.這些字節在標題有很多,可能與硬件有關。
7.這是0200,不能肯定為什么,我找不到任何相關關系。
8.這是引導裝如過程的版本,引導比你機內的Flash的BOOT版本更高的
9.校驗代碼,未知運算法則。 (比方說修改成8DC是為了98R到99R版本),我只能理解這么多了,抱歉...
完整的一體包分解出來的8個BIN文件的次序是:
BIN0-HEADER (FLASH文件的文件開頭部份,E398的都能通用。)
BIN1-BOOTLOADER (FLASH文件里的引導裝置)
BIN2-FLASH
BIN3-FLEX
BIN4-DSP
BIN5-LANGPACK(語言包)
BIN6-DRM(對應菜單的圖標,必須匹配FLASH版本)
BIN7- SIGNATURE (簽名,必須匹配FLASH版本)
你能混合匹配的語言包,FLASH,FLEX創造新的一體包。如果你對SHX文件要有足夠的認識,對十六進制編輯方面要能十分了解的話,你還能創造新的FLASH,和建立新的語言包。能將你手機備份的資料做成SHX格式的一體包。目前SHXCODEC也是很不錯的SHX制作工具,可惜的是對于語言包部份做的不是太好,不能做出完整的語言包,只能添加和刪除,或簡單的修改下語言包里的菜單語言,不能夠獨立的添加修改語言ID列表,哎,奮斗中...
哎,寫的比較亂,也不知道在說什么,希望能有點用吧!非常感謝KEMP,TONY,對此文的大力支持和幫助!也感謝狐貍和HOMELIKE!Bye...
新聞熱點
疑難解答
圖片精選