web-dev-qa-db-ja.com

未知のフォーマットでデータを抽出するにはどうすればいいですか?

ゲームiをプレイすると、そのデータを1つの巨大アーカイブに保存します。アーカイブはゲームによって明確に読みやすいです。ゲームは、キャラクタモデルとアイテム、そしてゲームの他のすべての側面をロードするためにアーカイブを復号化します。

ゲームは2つのファイルとゲームの音楽を持つ1つのフォルダです。ファイルはGame.Dat(700MB)とinfo.dat(150kB)です。 HEXエディタでは、info.datのヘッダーが "* ark_crv001_data"であることがわかりました。 Game.Datの最初の数行は(MEによって追加された数):

  1. RF2MD2
  2. album.vdl
  3. album00.tdl.
  4. album.mol.

その前面にも有用ではありません。 7-Zip、Freearc、およびWinrarは抽出できません。 HEXエディタでは、Game.Dat内の参照があります。たとえば、「Life/Swim/D004.MDL」などです。このゲームを想定して私は間違っています.datは、文字モデル、アイテム、ゲーム内スクリプトなどのアーカイブです。私は実際にすべてのテキストが保存されている場所を見つけました - それはgame.dat内のプレーンテキストにあります。

ゲームはWiiのためのものであり、私はファイルの暗号化が決して暗号化されています。ゲームがPCのためのものであったら、あなたは何をしますか?おそらくそれはとにかく私を助けることができました。

1
Andy

ファイルは、ゲーム開発者によって作成されたカスタムフォーマットを持つ可能性があります。ファイルからテキストを読むことができるので、暗号化されていないようです。テキスト形式、またはその一部がテキストとバイナリのパート(グラフィック、文字モデル)の一部があります。

原則として、ファイルをリバースエンジニアリングします。一般的な方法は、ファイルのコピーを保存し、ゲーム内で変更を加え、新しいコピーを保存することです。 2つを比較して、ファイル内で変更内容を確認してください。すべてのコンテンツを識別するまで繰り返します。

ただし、ファイルは700 MBであるため、宇宙の最後まで完全に逆転させることができるようになりました。

2
Wayne Johnston

最初の考えはなぜですか?

第二 - それはおそらく独自のアーカイブの方法を使用します - おそらく圧縮プラス暗号化 - いくつかのリバースエンジニアリングなしに抽出することはほとんど不可能です。

0
Sathyajith Bhat