wololo.netで、mr.gas氏がPS Vitaのセーブデータの復号化に成功したと伝えていました。
mr.gas氏と言えばバブルハックなどで最近名前を良く聞くハッカーです。セーブデータの復号化と聞くと思いつくのはチートやセーブデータexploitといったハッキングですが、mr.gas氏が成功したのはセーブデータの復号化だけで、最終的には必ず必要になる再暗号化についてはまだできていません。
今回mr.gas氏は『Final Fantasy X HD Remaster』の暗号化されたセーブデータと復号化したセーブデータの2つを公開しました。残念ながら復号化の方法については未公開です。
復号化されたセーブデータはPCSE00293(dec)フォルダの中に入っており、そのフォルダの中に
data000.bin
data001.bin
data002.bin
sce_sysフォルダ
が入っています。
試しにdata000.binやsce_sysのフォルダの中身をバイナリエディタでみてみましたが、なるほど確かに復号化されているっぽい感じです。keyという文字があるので何らかの重要なデータだと思われるsealedkeyは暗号化されると0で埋められてファイル容量が大きくなりますが、復号化されたものも暗号化されたものも中身のデータ自体は同じというものも入っていて興味深いです。
先人の尽力でPSPではセーブデータの復号化が簡単にできていましたが、PS Vitaでそれを最初に達成したのは相当凄いことです。mr.gas氏は当然Vitaのファイルシステムにアクセスしたからこそ復号化が可能になったのだと思われますが、もし今後再暗号化が可能になればVitaのネイティブユーザーモードexploitによる自作コードの実行という新しい手法も見えてきます。デバッガなどの開発環境がないとHomebrew開発などはできないのでネイティブセーブデータハックが実現できたとしても自作コード実行はまだ先の話ですが、新しい可能性が増えたことは間違いありません。
しかし一方で自作コード実行の一番の可能性であるMono VMは消え去ろうとしています。
ネイティブハックの今後はわからないところが多いです。