IPSフォーマット仕様書(バージョン 1.1)日本語
IPSは、データにパッチを当てるための、シンプルなシステムです。
ファイル構造
IPSパッチの大まかな構造は次の通りです。
項目 | 説明 |
---|---|
Magic | IPSパッチのシグネチャです。"PATCH"の5バイトでなければなりません。 |
Clusters | パッチの集合体です。詳細は後述。 |
EOF | IPSパッチの終端を示します。"EOF"の3文字です。 |
クラスタの構造
IPSパッチは、小さなパッチの集合体です。その小さなパッチをクラスタと呼びます。クラスタのフォーマットを以下に示します。
項目 | サイズ | 説明 |
---|---|---|
Address | 3 | パッチを適用する位置を示す3バイトの値です。先頭からのオフセットで位置を示します。 |
Patch Size | 2 | パッチを適用するサイズを示す値です。単一クラスタで65,535バイト以上のデータはパッチできません。0のときの解釈は後述。 |
Bytes to Patch | 可変 | 変更後のデータです。データのサイズはPatch Sizeです。 |
ただし、Patch Size == 0 のときは次のような解釈をします。
項目 | サイズ | 説明 |
---|---|---|
(Patch Size) | 2 | 0 := 続くバイトでデータを埋める |
Patch Size | 2 | パッチを適用するサイズを示す値です。 |
Byte to Fill | 1 | コピーすべき値。指定領域はすべてこの値に設定されます。 |