概要
SONY 公式の「コンテンツ管理アシスタント」をインストールすると、Windows上にセーブデータがバックアップでき、また復帰も可能である。
PS1 ゲームアーカイブスのセーブデータ(メモリカード) は、拡張子 .vmp ファイルで、中身は128バイトのヘッダ + 128KB のメモリカードのまんまである。
ならば Play Station のメモリ カードのデータを吸って Vita で継続プレイできるのでは?
PS1(.mcr) → Vita(.vmp) 変換
「mcr vmp 変換」あたりでググると色々出てくる。
変換ツールもあるので、それを使えば終わりな話ではある。
が、とある理由から自前で作成することに…
.vmp データ構造
オフセット | 項目 | バイト数 | 内容 |
---|---|---|---|
0x000000 | マジック | 4 | 'VMP' |
0x000004 | オフセット | 4 | 128(0x80) |
0x000008 | ? | 4 | 0 |
0x00000C | シード値 | 20 | 28292A2B... |
0x000020 | HMAC | 20 | 計算値 |
0x000034 | ? | 76 | 0埋め |
0x000080 | データ | 131,072 | .mcr データ |
0x200080 |
シード値をAES128でガチャガチャやって鍵を作成。
んで SHA1 HMAC 取ってる。
てきとーにコードを書き書き。
https://gitlab.com/nekodevteam/nekocrypto/-/tree/main/samples/mcr2vmp
でした。