首先到http://www.xs4all.nl/~itsme/projects/xda/tools.html下载最新的itsutils,我下载的是itsutilsbin-20091117.zip,解压开到一个目录。进入命令行模式,进入该目录。输入“pdocread -l”回车,得到如下一些信息。
E:\806\its>pdocread -l
114.88M (0x72e0000) FLASHDR
| 3.12M (0x31fc00) Part00
| 2.88M (0x2e0000) Part01
| 45.38M (0x2d60000) Part02
| 63.50M (0x3f80000) Part03
10.00M (0xa00000) EXT_FLA
| 10.00M (0xa00000) PART00
STRG handles:
handle#0 02f312aa 10.00M (0xa00000)
handle#1 83059bae 63.50M (0x3f80000)
handle#2 630594ba 45.38M (0x2d60000)
handle#3 e30592ae 2.88M (0x2e0000)
handle#4 c3059242 3.12M (0x31fc00)
disk 02f312aa
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 83059bae
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 630594ba
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk e30592ae
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk c3059242
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
这样就可以得到这台机器的ROM信息。我用的是多普达的E806C作为例子来操作。
有几个地方要注意,一个是“FLASHDR”,另外一个是Part01等前面的地址。地址的话每台机器都不一样,注意。4个Part基本的意思是
Part00:一般是boot区
Part01:一般是xip
Part02:一般是纯os文件,这部分可以解出dump文件夹,本例只演示这部分,其它部分应该是相同的操作方法。
Part03:一般是用户存储区,就是那128mb部分。
合成rom一般只需要前三个part,或都只有OS部分。
读出来后他们只是标准的镜像文件。一般多普达机器的扇区大小为0x200、0x400、0x800,我经过试验,得到我的机器的扇区大小是0x200。如下:
E:\806\its>pdocread -b 0x200 -w -d FLASHDR -p part02 -t
real nr of sectors: 92928 - 45.38Mbyte, 0x2d60000
E:\806\its>pdocread -b 0x400 -w -d FLASHDR -p part02 -t
real nr of sectors: 92928 - 90.75Mbyte, 0x5ac0000
E:\806\its>pdocread -b 0x800 -w -d FLASHDR -p part02 -t
real nr of sectors: 92928 - 181.50Mbyte, 0xb580000
只有当使用0x200为扇区大小时候得到的文件尺寸和地址与一开始我得到的信息相符,即“45.38Mbyte, 0x2d60000”。这个方法是今天自己试验出来的,本来等xbeta上的Skywalker给个工具来查看扇区大小的,但是他上网不方便,我在查看一个教程时候发现了一个所谓的验证的步骤,就是上面的那个操作,但是文中是使用0x800的大小,是6800的机器,一开始我就不解这个东东是什么,后来Skywalker告诉我是0x400,但是还是不对,一直试验,桌子告诉我说用0x200试试,还真别说,一试就成功了,得到了验证后的地址和一开始的信息相符,也应该说明我的机器是0x200的大小。
下面我就正式开始dump这台手机的ROM。输入“pdocread -b 0x200 -w -d FLASHDR -p Part02 0 0x2d60000 Part02.bin”,大约一分钟的等待后(不同电脑和手机等待都不一样,电脑差或者ROM大的手机会更慢些),得到:
E:\806\its>pdocread -b 0x200 -w -d FLASHDR -p Part02 0 0x2d60000 Part02.bin
CopyTFFSToFile(0x0, 0x2d60000, Part02.bin)
E:\806\its>
当出现下面这个“E:\806\its>”,即说明dump完成了。进入itsutils的目录,我的电脑上即为E:\806\its,可以找到一个名为Part02.bin的文件。这个就是dump出来的OS文件,经过一些工具的分解可以得到该机器的OEM。
实在不知道扇区大小的,可以这样输入“pdocread -w -d FLASHDR -p Part02 0 0x2d60000 Part02.bin”
继续操作,将XIP也dump出来,即Part01的部分。输入“pdocread -b 0x200 -w -d FLASHDR -p Part01 0 0x2e0000 Part01.bin”,同样等待后,在目录里得到了Part01.bin文件,这个文件就是该机器的XIP文件,可以用来移植了。同样不知道扇区大小的可以模仿上一步操作。
itsutils的操作基本到此结束,以后的文章会讲解怎么分解此次dump出来的文件。
发布于 2010-03-21 05:22:25 回复该评论
发布于 2010-05-25 21:44:48 回复该评论
这里的part02.bin 后缀必须是bin吗,我提取的时候没有输入后缀
还有下文,怎么DUMP这个文件,和平常DUMP rom一样吗
我想DUMP里面的radio文件
发布于 2010-05-26 04:33:22 回复该评论
后缀不一定,也可以是.raw,看你了。建议还是输入以下比较好。
dump的工具是ImgfsTools 2.1.rc2 里面的ImgfsToDump.exe
在DOS提示符输入:ImgfsToDump Part02.bin 回车
命令行窗口会闪,稍等后得到一个DUMP文件夹,里面的就是dump出来的文件。但是这个方法应该是dump不出来Radio的。
发布于 2010-05-26 21:29:10 回复该评论
有没有方法能把part00 part01 part02 part03合成一个有效的nbh文件,这样我就有方法能提取出radio.nb了
发布于 2010-05-28 06:48:32 回复该评论
貌似这个工具不支持这样导出,或许其他工具有,但是我还没研究到那一步,呵呵。
发布于 2010-12-10 21:50:31 回复该评论
是否将这3个part直接再pdocwrite就可以了呢?
发布于 2010-12-11 18:42:27 回复该评论
发布于 2013-07-20 16:38:24 回复该评论
c:\itsutils>Pdocread -b 0x200 -w -d SMFLASH -p part02 -t
real nr of sectors: 1 - 512.00byte, 0x200
c:\itsutils>Pdocread -b 0x400 -w -d SMFLASH -p part02 -t
real nr of sectors: 1 - 1024.00byte, 0x400
c:\itsutils>Pdocread -b 0*800 -w -d SMFLASH -p part02 -t
real nr of sectors: 1 - 512.00byte, 0x200
补充前一段
c:\itsutils>pdocread -l
Copying c:\itsutils\itsutils.dll to WCE:\windows\itsutils.dll
80.00M (0x5000000) SMFLASH
| 1.25M (0x13f000) Part00
| 2.25M (0x240000) Part01
| 46.25M (0x2e40000) Part02
| 30.25M (0x1e40000) Part03
890.50M (0x37a80000) DSK2:
| 890.50M (0x37a7f000) Part00
STRG handles:
发布于 2013-07-20 17:05:28 回复该评论
发布于 2013-08-12 05:52:40 回复该评论
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。