ROM焼き〜その1〜実機ROM Dump

ROM焼きの前に、まずは実機ROMをDumpしておく。
(0)アプリケーションロックの解除
まず次のレジストリを変更しアプリケーションロックを解除しソフトリセットしておく。
HKLM\Security\Policies\Policies
valuename '00001001' was set to dword:2, change it to dword:1


dword: any thing other than 1 disallows unsigned
dword: 1 allows unsigned


(1)itsutils pdocread.exeのインストール
母艦にてダウンロードしたitsutilsbin-20080313.zip を「D:\Program files\itsutils」へ展開する。


(2)母艦に接続
DumpするROMの入ったKaiserをUSBケーブルで母艦と接続し、ActiveSyncされていることを確認。


(3)DOSプロンプトを起動
スタート>ファイル名を指定して実行>cmd.exe
コマンドプロンプトが起動してカレントディレクトリが表示される。(xxxxxx部分は環境による)
C:\Documents and Settings\xxxxxx>
なお、コマンドプロンプトのヘルプはhelpコマンドを入力することで確認できる。


(4)itsutilsディレクトリへ移動
次のcdコマンドを入力し、先程インストールしたディレクトリへ移動する。
ドライブも変わる場合は/dオプションをつけて指定する。
>cd /d D:\Program files\itsutils


(5)NANDパーティションの確認
次のコマンド入力で、pdocreadを-lオプションで実行し、まずはすべてのNANDパーティションのサイズを確認しメモしておく。
>pdocread.exe -l

D:\Program files\itsutils>pdocread.exe -l
210.63M (0xd2a0000) FLASHDR

3.12M (0x31f000) Part00
3.50M (0x380000) Part01
70.25M (0x4640000) Part02
133.75M (0x85c0000) Part03

3.75G (0xf0000000) DSK1:

3.75G (0xefc00000) Part00

STRG handles:
handle 05c0d0da 3.75G (0xefc00000)
handle 67458c4e133.75M (0x85c0000)
handle 2746711a 70.25M (0x4640000)
handle 874670f6 3.50M (0x380000)
handle c74b0f1e 3.12M (0x31f000)
disk 05c0d0da
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 67458c4e
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 2746711a
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 874670f6
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 c74b0f1e
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


D:\Program files\itsutils>


(6)ダンプ実行
パーティション毎に先程確認したサイズを指定して一つずつダンプを実行する。
(-p Part00 0に続く「0x31f000」の部分がサイズ)

pdocread -w -d FLASHDR -b 0x800 -p Part00 0 0x31f000 Part00.raw
pdocread -w -d FLASHDR -b 0x800 -p Part01 0 0x380000 Part01.raw
pdocread -w -d FLASHDR -b 0x800 -p Part02 0 0x4560000 Part02.raw
pdocread -w -d FLASHDR -b 0x800 -p Part03 0 0x85c0000 Part03.raw

D:\Program files\itsutils>pdocread -w -d FLASHDR -b 0x800 -p Part00 0 0x31f000 Part00.raw
CopyTFFSToFile(0x0, 0x31f000, Part00.raw)

D:\Program files\itsutils>pdocread -w -d FLASHDR -b 0x800 -p Part01 0 0x380000 Part01.raw
CopyTFFSToFile(0x0, 0x380000, Part01.raw)

D:\Program files\itsutils>pdocread -w -d FLASHDR -b 0x800 -p Part02 0 0x4640000 Part02.raw
CopyTFFSToFile(0x0, 0x4640000, Part02.raw)

D:\Program files\itsutils>pdocread -w -d FLASHDR -b 0x800 -p Part03 0 0x85c0000 Part03.raw
CopyTFFSToFile(0x0, 0x85c0000, Part03.raw)

D:\Program files\itsutils>


(7)作成されたファイルの確認
最後にdir Part*.rawコマンドで作成されたファイルを確認する。

D:\Program files\itsutils>dir Part*.raw

D:\Program files\itsutils のディレクト

2008/04/30 19:38 3,272,704 Part00.raw
2008/04/30 19:40 3,670,016 Part01.raw
2008/04/30 19:47 73,662,464 Part02.raw
2008/04/30 20:00 140,247,040 Part03.raw
4 個のファイル 220,852,224 バイト
0 個のディレクトリ 14,811,873,280 バイトの空き領域

D:\Program files\itsutils>