「PS3ディレクトリ構成」の編集履歴(バックアップ)一覧はこちら

PS3ディレクトリ構成」(2011/01/25 (火) 18:49:34) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*ディレクトリ構成 ---- **PS3のディレクトリ構成 / ルート以下の構成 /dev_hdd0、/dev_bdvd、/dev_usb 以外のデータはFileManager、FTPで直接編集する場合は注意が必要 |階層1|階層2|階層3|内容| |dev_bdvd|||| |dev_cf|||| |dev_flash|/||| |~|bdplayer|/|| |~|~|bdjstack|| |~|~|SYS|| |~|data|/|| |~|~|cert|| |~|~|dic|| |~|~|font|| |~|ps1emu||| |~|ps2emu||ps2_emu.self ps2_gxemu.self ps2_softemu.self| |~|pspemu|/|| |~|sys||| |~|vsh|/|| |~|~|etc|| |~|~|module|| |~|~|resource|| |dev_flash2|/||| |~|~|etc|| |dev_flash3|||| |dev_hdd0|/||| |~|crash_report||| |~|drm||| |~|game||| |~|GAMES||デフォルトのrogeroのバックアップ先| |~|~|BLJMxxxxx|| |~|~|BLJSxxxxx|| |~|home|/|| |~|~|0000001|| |~|~|0000002|| |~|mms||| |~|music||| |~|photo||| |~|savedata|/|| |~|~|vmc|PS2のセーブデータ| |~|theme||| |~|tmp||| |~|video||| |~|vm/vm0||500MB| |~|vsh||| |dev_hdd1|||| |dev_ms|||| |dev_ps2disc|||| |dev_ps2disc1|||| |dev_sd|||| |dev_usb|||| ---- **/dev_hdd0/home ├ 00000001 //一人目のユーザー  |  ├ savedata  |  | ├ ゲームID // セーブデータ  |  ├ trophy  |  | ├ NPWRxxxxx_xx // トロフィーのゲームID  |       ├ TROPCONF.SFM // トロフィーの設定  |       ├ TROPUSR.DAT // トロフィーのユーザーデータ  ├ 00000002 // 二人目のユーザー セーブデータコピーして他人のデータのためロードできない場合 まず、新規でセーブデータを作成、FTPで対象のフォルダ(/dev_hdd0/home/ユーザID/savedata/ゲームID)に PARAM.SFO以外のファイルを上書きで使用可能に *DLCデータ -/dev_hdd0/game/BLJMxxxxx/USRDIR/xxx.edat -/dev_hdd0/home/ユーザーID/exdata/xxxxxxxxxxx.rif 00 00 00 01 00 00 00 02 xx xx xx xx xx xx xx xx (User account) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (DLC name) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) 00 00 01 xx xx xx xx xx (Unknown) 00 00 00 00 00 00 00 00 xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) xx xx xx xx xx xx xx xx (Unknown) -/dev_hdd0/home/ユーザーID/exdata/act.dat 00 00 00 01 00 00 00 01 xx xx xx xx xx xx xx xx (User account) xx xx xx xx xx xx xx xx … *トロフィーデータ -TROPCONF.SFM UTF-8を指定してテキストエディタで開くと、トロフィーの名前、説明が読めます。 <trophy id="000" hidden="yes" ttype="P" pid="-1"> id:トロフィーのID hidden:隠しトロフィー、yes|no ttype:トロフィーのタイプ、P|G|S|B pid:不明 -1|000 -TROPUSR.DAT 0x0370あたりから各トロフィーのタイプ(9から始まるデータがあるとズレる) 00 00 00 04 00 00 00 50 00 00 00 xx 00 00 00 00 00 00 00 xx 00 00 00 yy pp pp pp pp 00 00 00 00 xx:トロフィーのID yy:トロフィーのタイプ(01:P、02:G、03:S、04:B) pp:pid値 最後のトロフィーのタイプから400バイトくらい先から、各トロフィーのなにか 00 00 00 06 00 00 00 60 00 00 00 xx 00 00 00 00 00 00 00 xx 00 00 00 aa aa aa aa 00 00 00 00 00 00 yy yy yy yy yy yy yy 00 zz zz zz zz zz zz zz xx:トロフィーのID yy:獲得日時情報(hdd) yyyyMMddhhmmss → μsec zz:獲得日時情報(server?) yyyyMMddhhmmssuu → μsec aa:解除情報(00 00 00 00 | 01 00 01 10 | 01 00 00 10 | 01 00 00 20 etc.) 3byte目はPTrigger,4byte目は取得済みタイプ -TROPUSR.DATの構造 ビッグエンディアンです。 struct TrophyType { int value1; int value2; int id1; int value3; int id2; int type; int pid; unsigned char unknown[0x44]; }; struct TrophyUnlock { int value1; int value2; int id1; int value3; int id2; unsigned char unlock[0x0C]; unsigned char timestamp[0x10]; unsigned char zero[0x40]; }; struct UnknownTrophyType1 { int value1; int value2; int id1; int value3; int id2; unsigned char unknown[0x4C]; }; struct UnknownTrophyType2 { int value1; int value2; int id1; int value3; int id2; unsigned char unknown[0x2C]; }; struct TrophyData { union { struct { unsigned char UnknownData01[0xDC]; int TrophyMax; unsigned char UnknownData02[0x5C]; int TrophyMax; unsigned char UnknownData03[0x1C]; int UnknownTrophyMax; unsigned char UnknownData04[0x70]; unsigned char UnknownCode[0x10]; unsigned char UnknownData05[0x80]; unsigned char TrophyGameId[0x18]; int TrophyMax; int hiddenTrophyMax; unsigned char UnknownData06[0x40]; int PMax; int GMax; int SMax; int BMax; unsigned char UnknownData07[0xA0]; }; unsigned char Block01[0x0370]; }; UnknownTrophyType1 *UnknownTrophyTypes1; // 数はUnknownTrophyMax TrophyType *TrophyTypes; // 数はTrophyMax union { struct { int value1; int value2; unsigned char zero1[0x20]; unsigned char UnknownTimeStamp01[0x08]; // 登録日時? unsigned char UnknownTimeStamp02[0x10]; unsigned char zero2[0x10]; unsigned char LatestTimeStamp[0x10]; unsigned char zero3[0x20]; int TrophyNum; unsigned char UnknownData08[0x0C]; unsigned char UnlockInfo[0x08]; unsigned char UnknownData09[0x48]; int value3; int value4; unsigned char zero4[0x08]; int TrophyCount; // TrophyNum + 1 int PTriggerCount; // SUM(PTrigger) + 1 unsigned char zero5[0x08]; unsigned char UnknownTimeStamp03[0x08]; unsigned char zero6[0x38]; }; unsigned char Block02[0x0140]; }; TrophyUnlock *TrophyUnlocks; // 数はTrophyMax UnknownTrophyType2 *UnknownTrophyTypes2; // 数はUnknownTrophyMax }
*ディレクトリ構成 ---- **PS3のディレクトリ構成 / ルート以下の構成 /dev_hdd0、/dev_bdvd、/dev_usb 以外のデータはFileManager、FTPで直接編集する場合は注意が必要 |階層1|階層2|階層3|内容| |dev_bdvd|||| |dev_cf|||| |dev_flash|/||| |~|bdplayer|/|| |~|~|bdjstack|| |~|~|SYS|| |~|data|/|| |~|~|cert|| |~|~|dic|| |~|~|font|| |~|ps1emu||| |~|ps2emu||ps2_emu.self ps2_gxemu.self ps2_softemu.self| |~|pspemu|/|| |~|sys||| |~|vsh|/|| |~|~|etc|| |~|~|module|| |~|~|resource|| |dev_flash2|/||| |~|~|etc|| |dev_flash3|||| |dev_hdd0|/||| |~|crash_report||| |~|drm||| |~|game||| |~|GAMES||デフォルトのrogeroのバックアップ先| |~|~|BLJMxxxxx|| |~|~|BLJSxxxxx|| |~|home|/|| |~|~|0000001|| |~|~|0000002|| |~|mms||| |~|music||| |~|photo||| |~|savedata|/|| |~|~|vmc|PS2のセーブデータ| |~|theme||| |~|tmp||| |~|video||| |~|vm/vm0||500MB| |~|vsh||| |dev_hdd1|||| |dev_ms|||| |dev_ps2disc|||| |dev_ps2disc1|||| |dev_sd|||| |dev_usb|||| ---- **/dev_hdd0/home ├ 00000001 //一人目のユーザー  |  ├ savedata  |  | ├ ゲームID // セーブデータ  |  ├ trophy  |  | ├ NPWRxxxxx_xx // トロフィーのゲームID  |       ├ TROPCONF.SFM // トロフィーの設定  |       ├ TROPUSR.DAT // トロフィーのユーザーデータ  ├ 00000002 // 二人目のユーザー セーブデータコピーして他人のデータのためロードできない場合 まず、新規でセーブデータを作成、FTPで対象のフォルダ(/dev_hdd0/home/ユーザID/savedata/ゲームID)に PARAM.SFO以外のファイルを上書きで使用可能に *トロフィーデータ -TROPCONF.SFM UTF-8を指定してテキストエディタで開くと、トロフィーの名前、説明が読めます。 <trophy id="000" hidden="yes" ttype="P" pid="-1"> id:トロフィーのID hidden:隠しトロフィー、yes|no ttype:トロフィーのタイプ、P|G|S|B pid:不明 -1|000 -TROPUSR.DAT 0x0370あたりから各トロフィーのタイプ(9から始まるデータがあるとズレる) 00 00 00 04 00 00 00 50 00 00 00 xx 00 00 00 00 00 00 00 xx 00 00 00 yy pp pp pp pp 00 00 00 00 xx:トロフィーのID yy:トロフィーのタイプ(01:P、02:G、03:S、04:B) pp:pid値 最後のトロフィーのタイプから400バイトくらい先から、各トロフィーのなにか 00 00 00 06 00 00 00 60 00 00 00 xx 00 00 00 00 00 00 00 xx 00 00 00 aa aa aa aa 00 00 00 00 00 00 yy yy yy yy yy yy yy 00 zz zz zz zz zz zz zz xx:トロフィーのID yy:獲得日時情報(hdd) yyyyMMddhhmmss → μsec zz:獲得日時情報(server?) yyyyMMddhhmmssuu → μsec aa:解除情報(00 00 00 00 | 01 00 01 10 | 01 00 00 10 | 01 00 00 20 etc.) 3byte目はPTrigger,4byte目は取得済みタイプ -TROPUSR.DATの構造 ビッグエンディアンです。 struct TrophyType { int value1; int value2; int id1; int value3; int id2; int type; int pid; unsigned char unknown[0x44]; }; struct TrophyUnlock { int value1; int value2; int id1; int value3; int id2; unsigned char unlock[0x0C]; unsigned char timestamp[0x10]; unsigned char zero[0x40]; }; struct UnknownTrophyType1 { int value1; int value2; int id1; int value3; int id2; unsigned char unknown[0x4C]; }; struct UnknownTrophyType2 { int value1; int value2; int id1; int value3; int id2; unsigned char unknown[0x2C]; }; struct TrophyData { union { struct { unsigned char UnknownData01[0xDC]; int TrophyMax; unsigned char UnknownData02[0x5C]; int TrophyMax; unsigned char UnknownData03[0x1C]; int UnknownTrophyMax; unsigned char UnknownData04[0x70]; unsigned char UnknownCode[0x10]; unsigned char UnknownData05[0x80]; unsigned char TrophyGameId[0x18]; int TrophyMax; int hiddenTrophyMax; unsigned char UnknownData06[0x40]; int PMax; int GMax; int SMax; int BMax; unsigned char UnknownData07[0xA0]; }; unsigned char Block01[0x0370]; }; UnknownTrophyType1 *UnknownTrophyTypes1; // 数はUnknownTrophyMax TrophyType *TrophyTypes; // 数はTrophyMax union { struct { int value1; int value2; unsigned char zero1[0x20]; unsigned char UnknownTimeStamp01[0x08]; // 登録日時? unsigned char UnknownTimeStamp02[0x10]; unsigned char zero2[0x10]; unsigned char LatestTimeStamp[0x10]; unsigned char zero3[0x20]; int TrophyNum; unsigned char UnknownData08[0x0C]; unsigned char UnlockInfo[0x08]; unsigned char UnknownData09[0x48]; int value3; int value4; unsigned char zero4[0x08]; int TrophyCount; // TrophyNum + 1 int PTriggerCount; // SUM(PTrigger) + 1 unsigned char zero5[0x08]; unsigned char UnknownTimeStamp03[0x08]; unsigned char zero6[0x38]; }; unsigned char Block02[0x0140]; }; TrophyUnlock *TrophyUnlocks; // 数はTrophyMax UnknownTrophyType2 *UnknownTrophyTypes2; // 数はUnknownTrophyMax }

表示オプション

横に並べて表示:
変化行の前後のみ表示: