
概要

	ツール		:endecryptQST
	バージョン	:ver1.3
	作成者		:kariP@nullpo
	目的		:MHP3のDLクエストデータ暗/復号化の補助ツールです。完全な暗/復号化をするためには
			 Savedata En/DecrypterかMagicSaveのどちらかが必要ですので、ダウンロードしてください。

使用上の注意

	このツールを使って作成したDLクエストデータをXlinkやアドホックパーティーといった不特定多数の人と
	オンラインプレイが可能な状況で使用しないでください。
	またツールや作成したDLクエストデータの商用利用を禁止します。
	許可なくツールの改変や、2次配布を行わないでください。

使用前の準備

	このツール以外にSavedata En/DecrypterかMagicSaveのどちらかが必要です。ダウンロードしてください。
	Savedata En/Decrypterはセーブデータを暗/復号化するPSP用のhomebrewで、5.50 Prome-4で動作しましたが
	6.35 PRO-A3ではフリーズしました。MagicSaveはセーブデータを暗/復号化するPSP用のプラグインで、
	5.50 Prome-4と6.35 PRO-A3の両方で動作したので、こちらがお勧めです。

暗/復号化の流れ

	┌────────┐────1.───→┌──────┐──2.──→┌──────┐
	│DLクエストデータ│En/De or MagicSave│途中のデータ│endecryptQST│復号化データ│
	└────────┘←───4.────└──────┘←─3.───└──────┘

	以下の説明でそれぞれのデータを上のように示します。

復号化方法

	
	1.	まずSavedata En/DecrypterかMagicSaveを使ってDLクエストデータを復号化します。
		Savedata En/Decrypterの場合はDLクエストデータを選択し復号化を選択すると
		"ms0:/ULJM05800QST.bin"に途中のデータが保存されます。
		MagicSaveの場合は音量ボタンの+と-を同時に押してメニューを出して
		セーブデータのセーブフォーマットを「暗号化あり」にしてバックアップの「MagicSaveから読み込み」
		「MagicSaveへの書き込み」をONにしたあと、何かクエストをダウンロードしてセーブを書くと
		"ms0:/PSP/SAVEDATA/ULJM05800QST/MHP3RD.BIN"にDLクエストデータが、
		"ms0:/MagicSave/Save/ULJM05800QST/MHP3RD.BIN"に途中のデータが保存されます。

	2.	つぎにendecryptQST.exeを起動します。メニューバーにある復号化ボタンを押すと
		ダイアログが開くので、先ほど作成した途中のデータを選択します。うまくいけば
		endecryptQST.exeと同じディレクトリに復号化データ"data.bin"が保存されます。

暗号化方法

	3.	endecryptQST.exeを起動し、メニューバーの暗号化ボタンを押します。ダイアログが開くので
		暗号化したデータの保存先を選択します。うまくいくとendecryptQST.exeと同じディレクトリにある
		"data.bin"を暗号化した途中のデータが指定した保存先に保存されます。

	4.	最後にSavedata En/DecrypterかMagicSaveを使ってDLクエストデータに暗号化します。
		Savedata En/Decrypterの場合は、先ほど作成した途中のデータを"ms0:/ULJM05800QST.bin"に
		配置したあと、Savedata En/Decrypterを起動しDLクエストデータを選択し暗号化を選択すると
		DLクエストデータに暗号化されます。
		MagicSaveの場合は、先ほど作成した途中のデータを"ms0:/MagicSave/Save/ULJM05800QST/MHP3RD.BIN"に
		配置した後、MagicSaveの設定を復号化のときと同じ設定にした状態で、何かクエストをダウンロードして
		セーブを書くと、DLクエストデータに暗号化されます。
	
data.binの構成(サイズ:0x259000バイト)

	0x000000-0x00600F	1個目のmibファイル
	0x006010-0x00C01F	2個目のmibファイル
				以下+0x6010ずつ
	0x252630-0x25863F	100個目のmibファイル
	0x258640-0x258FE7	00で埋ってる
	0x258FE8-0x258FFB	チェックサム(暗号化時に自動更新)
	0x258FFC-0x258FFF	data.binの暗/復号化キー(任意)

quest.mibの構成(サイズ:0x6010バイト)

	0x0000-0x0007		quest.mibの暗/復号化キー(任意)
	0x0008-0x000B		クエストデータのサイズ(0以上かつ0x5FD0以下)
	0x000C-0x001F		チェックサム(暗号化時に自動更新)
	0x0020-0x5FEF		クエストデータ
	0x5FF0-0x5FFF		00で埋ってる
	0x6000-0x600F		mibファイル名(少なくとも0x6000は00以外)

				※クエストデータのサイズというのは例えば「名探偵コナン・連続狩猟事件！」なら
				　クエストデータは0x0020から0x0657まであるので、クエストデータのサイズは0x638になります。
				　mibファイル名は公式からクエストをダウンロードする際に、そのmibファイルがすでに
				　ダウンロードされているかの判断に利用されています。ダウンロードしたクエストの
				　mibファイル名と、既にダウンロードされているクエストのmibファイル名が比較され、
				　同じものがあればそこに上書きされ、なければ新規保存されます。実際の比較に使用されるのは
				　0x6002-0x6005までなので、3文字目から6文字目までが同じなら、上書き判定になるようです。
