diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb
index 55040ca..0a09e44 100644
Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb differ
diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo
index 6ad89db..991ac1b 100644
Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo differ
diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/AssemblyInfo.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/AssemblyInfo.cpp
index f5d249c..f9fe5dd 100644
--- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/AssemblyInfo.cpp
+++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/AssemblyInfo.cpp
@@ -31,7 +31,7 @@ using namespace System::Security::Permissions;
// すべての値を指定するか、下のように '*' を使ってリビジョンおよびビルド番号を
// 既定値にすることができます:
-[assembly:AssemblyVersionAttribute("1.4.*")];
+[assembly:AssemblyVersionAttribute("1.5.*")];
[assembly:ComVisible(false)];
diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm
index 3d92771..a9cd8cf 100644
Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm differ
diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp
index 69c27d8..7933e0aa 100644
--- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp
+++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp
@@ -593,9 +593,9 @@ void RCSrl::mrcAccessControl(FILE *fp)
{
this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES Slot A for the SSL client certification") );
}
- if( this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0 )
+ if( (this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0) )
{
- this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES SlotB (JPEG signature) for the user") );
+ this->hWarnList->Add( this->makeMrcError("JpegSignAccessSystem") );
}
if( this->pRomHeader->s.access_control.common_client_key_for_debugger_sysmenu != 0 )
{
@@ -648,17 +648,41 @@ void RCSrl::mrcAccessControl(FILE *fp)
{
this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES Slot A for the SSL client certification") );
}
- if( this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0 )
+
+ if( !this->IsMediaNand )
{
- if( !this->IsMediaNand )
+ // カードだと写真領域へのアクセスは禁止
+ if( this->pRomHeader->s.access_control.photo_access_read != 0 )
{
- this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES SlotB (JPEG signature) for the user") );
+ this->hErrorList->Add( this->makeMrcError("PhotoReadAccessUser") );
}
- else
+ if( this->pRomHeader->s.access_control.photo_access_write != 0 )
{
- this->hWarnList->Add( this->makeMrcError("IllegalAccessUserWarn", "HW AES SlotB (JPEG signature) for the user") );
+ this->hErrorList->Add( this->makeMrcError("PhotoWriteAccessUser") );
+ }
+ // Jpeg署名も禁止
+ if( this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0 )
+ {
+ this->hErrorList->Add( this->makeMrcError("JpegSignAccessUserCard") );
}
}
+ else
+ {
+ // photoへのライトアクセス権があるのにJpeg署名がないとき
+ if( (this->pRomHeader->s.access_control.photo_access_write != 0) &&
+ (this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser == 0) )
+ {
+ this->hErrorList->Add( this->makeMrcError("PhotoJpegSignAccessUser") );
+ }
+ // photoやSDへライトしないくせにJpeg署名が有効なとき
+ if( (this->pRomHeader->s.access_control.photo_access_write == 0) &&
+ (this->pRomHeader->s.access_control.sd_card_access == 0) &&
+ (this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0) )
+ {
+ this->hWarnList->Add( this->makeMrcError("JpegSignAccessUserNand") );
+ }
+ }
+
if( this->pRomHeader->s.access_control.common_client_key_for_debugger_sysmenu != 0 )
{
this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "Common Client Key for the debugger system menu") );
diff --git a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml
index 10c49a8..5e50e35 100644
--- a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml
+++ b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml
@@ -262,6 +262,36 @@
The NTR-compatible region in the Game Card can be accessed.
1b41b7FalseTrue
+
+ Access Control Information
+ Read access to the Photo Database is not permitted.
+ 1b41b7FalseTrue
+
+
+ Access Control Information
+ Write access to the Photo Database is not permitted.
+ 1b41b7FalseTrue
+
+
+ Access Control Information
+ Jpeg signature(JpegSign) is not configured even if write access to Photo Database is specified.
+ 1b41b7FalseTrue
+
+
+ Access Control Information
+ Jpeg signature(JpegSign) is configured.
+ 1b41b7FalseTrue
+
+
+ Access Control Information
+ Jpeg signature(JpegSign) is configured even if either write access to Photo Database or access to SD Card is not specified.
+ 1b41b7FalseTrue
+
+
+ Access Control Information
+ Jpeg signature(JpegSign) is configured.
+ 1b41b7FalseTrue
+
Access Control Information
Access to the {0} is not permitted.
diff --git a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml
index dbaada5..769ffe1 100644
--- a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml
+++ b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml
@@ -262,6 +262,36 @@
繧イ繝シ繝繧ォ繝シ繝丑TR莠呈鋤鬆伜沺縺ク繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ォ縺ェ縺」縺ヲ縺縺セ縺吶
1b41b7FalseTrue
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ 蜀咏悄繝繝シ繧ソ繝吶シ繧ケ縺ク繝ェ繝シ繝峨い繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲
+ 1b41b7FalseTrue
+
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ 蜀咏悄繝繝シ繧ソ繝吶シ繧ケ縺ク繝ゥ繧、繝医い繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲
+ 1b41b7FalseTrue
+
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ 蜀咏悄繝繝シ繧ソ繝吶シ繧ケ縺ク縺ョ繝ゥ繧、繝医い繧ッ繧サ繧ケ縺梧欠螳壹&繧後※縺繧九↓繧ゅ°縺九o繧峨★Jpeg鄂イ蜷(JpegSign)縺梧怏蜉ケ縺ォ縺ェ縺」縺ヲ縺縺セ縺帙s縲
+ 1b41b7FalseTrue
+
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ Jpeg鄂イ蜷(JpegSign)縺梧怏蜉ケ縺ォ縺ェ縺」縺ヲ縺縺セ縺吶
+ 1b41b7FalseTrue
+
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ 蜀咏悄繝繝シ繧ソ繝吶シ繧ケ縺ク縺ョ繝ゥ繧、繝医い繧ッ繧サ繧ケ繧ゅ@縺上ッSD繧ォ繝シ繝峨∈縺ョ繧「繧ッ繧サ繧ケ縺梧欠螳壹&繧後※縺縺ェ縺縺ォ繧ゅ°縺九o繧峨★Jpeg鄂イ蜷(JpegSign)縺梧怏蜉ケ縺ォ縺ェ縺」縺ヲ縺縺セ縺吶
+ 1b41b7FalseTrue
+
+
+ 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
+ Jpeg鄂イ蜷(JpegSign)縺梧怏蜉ケ縺ォ縺ェ縺」縺ヲ縺縺セ縺吶
+ 1b41b7FalseTrue
+
繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア
{0} 縺ク縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲