From 48cf7a88a515fc81130220533c0df7a6c2dda8ea Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Wed, 4 Mar 2009 11:39:33 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=82=A8=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=82=BF:=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=88=E3=83=AD=E3=83=BC=E3=83=AB=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=81=AE=E5=90=84=E3=83=93=E3=83=83=E3=83=88=E3=81=AB?= =?UTF-8?q?=E5=AF=BE=E3=81=97=E5=80=8B=E5=88=A5=E3=81=AB=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E3=82=92=E5=87=BA=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@202 7061adef-622a-194b-ae81-725974e89856 --- .../MasterEditorTWL/MasterEditorTWL.ncb | Bin 11488256 -> 11488256 bytes .../MasterEditorTWL/MasterEditorTWL.suo | Bin 73216 -> 73216 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 22906 -> 13680 bytes .../MasterEditorTWL/Form_srl.cpp | 2 +- .../MasterEditorTWL/MasterEditorTWL/common.h | 1 - .../MasterEditorTWL/deliverable.cpp | 2 +- .../MasterEditorTWL/srl_element.h | 2 +- .../MasterEditorTWL/srl_mrc.cpp | 100 ++++++++++++++++-- .../MasterEditorTWL/resource/mrc_msg_e.xml | 74 ++++++++----- .../MasterEditorTWL/resource/mrc_msg_j.xml | 55 ++++++++-- 10 files changed, 184 insertions(+), 52 deletions(-) diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb index bb2213915dcc022b0ec8b81dd2acb0e3a7aa2eb4..77aeb0c9f29c7a2be0d1bf27368ccf7f97bce4fc 100644 GIT binary patch delta 26368 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 R2e1>^1?*-glzWn&_&-}W4LSe- delta 27089 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°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 Hc=mq*@8K2l diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo index d8ca79089bdbe8f776aaa1d351a7e7356aa9f3e3..c02e14c33d38c59582bb0b1f7178467c4ac38a3d 100644 GIT binary patch delta 3984 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 delta 2185 zcmcIlU1%It6h4#0ZQW*<%w$87=4U4pk|x?t&L*3*RuQDFSj9vt8h;`oyZLEKOxE3K zQYkcR0d8lfS))0CEEVpyGsytqvwPN$rS_n8IC(E`oW zGEL%{qG_3o-zd4Rosx<7sfPHSwPME-(%zvB3H6YfHY&rab*o^Qga452M2(SEe{8?G zZbtzrrjcZpR*|OJk5=inZapGj)HcZXyXp?*X@&|khxa16c(3BIX@DMwb%ySxC4A*6 zi|>07c$toRvsu_5#meTfHsIyg?w=(cOT_$WtK`sba^z&o9=WA`yL{T-S?l@!#5HD3f0VQtWoidtWa89y@>fO*z#d_(wI^!W^*-i>sFiU?YE7!M1wi}uhb!f|43a6=KoUHSt_Vkk_%EF zsYYF0?7g+dteo;4*=XHc?gceuy!wts`qfJ}TrkWEh??BJx28GJ1mKhPbcKDA75C|D zT`AI~_pPEch0se~ZR)D~sv+mN#Z>$of5xxyPrPT;1u5$9jIzJpw04cN~3+ZMut3@f)X${QmPreu^LD8rIB8J~n;H zXT7v*{QKEYS+YvS~l!iD$Dd*=V`Jt0)ib{lMhmHIJD^j7OkY#xqR%#H78EmYMd< z(Q#ns(SncCa@0$7KogKuv~kQ2o(D+ZS^D<#L%P7(bQ}8J0{%DLJ)*vvG=V3)&gXhP t@(K>nn{v`^x}&sgo6hsc{3FzT3CCq(tRXYbvmtGVPeM6bea>g<{ssVI1^fU2 diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp index b1ab3f6..870839e 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp @@ -199,7 +199,7 @@ void Form1::setSrlForms(void) } if( this->hSrl->IsCommonClientKeyForDebugger == true ) { - acc += "commonClientKey(Debug).\r\n"; + acc += "commonClientKey(Debugger).\r\n"; } this->tboxAccessOther->Text = acc; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/common.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/common.h index 7ba3a49..ea5702a 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/common.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/common.h @@ -6,7 +6,6 @@ #define METWL_LIGHT_CHECK // 提出条件を緩くするか // 定数 -#define METWL_ERRLIST_NORANGE 0 // エラーのアドレス範囲を指定しないことを表す特別な値 #define METWL_ROMSIZE_MIN 256 // 最小のデバイス容量 256Mbit #define METWL_ROMSIZE_MAX 4096 // 最大の.. 4Gbit #define METWL_ROMSIZE_MIN_NAND 1 diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp index 5614c9a..18e1562 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp @@ -117,7 +117,7 @@ ECDeliverableResult RCDeliverable::writeSpreadsheet( } if( hSrl->IsCommonClientKeyForDebugger ) { - access += "commonClientKey(Debug). "; + access += "commonClientKey(Debugger). "; } // 使用ライセンス diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_element.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_element.h index b1400bb..f759a63 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_element.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_element.h @@ -308,7 +308,7 @@ namespace MasterEditorTWL // gridViewの表示形式にあわせる cli::array^ getAll( System::Boolean isJapanese ) { - if( (this->begin == METWL_ERRLIST_NORANGE) && (this->end == METWL_ERRLIST_NORANGE) ) + if( (this->begin == 0) && (this->end == 0) ) { if( isJapanese ) return (gcnew array{this->hName, "-", "-", this->hMsg}); diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp index c199e16..f0e7bbf 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp @@ -558,28 +558,110 @@ void RCSrl::mrcAccessControl(FILE *fp) if( (this->pRomHeader->s.access_control.game_card_on != 0) && (this->pRomHeader->s.access_control.game_card_nitro_mode != 0) ) { - this->hErrorList->Add( this->makeMrcError("CardAccess") ); + this->hErrorList->Add( this->makeMrcError("CardAccessSystem") ); + } + + if( this->pRomHeader->s.access_control.common_client_key != 0 ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "Common Client Key") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_B != 0 ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES Slot B for ES") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_C != 0 ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES Slot C for NAM") ); + } + if( !this->IsMediaNand && (this->pRomHeader->s.access_control.nand_access != 0) ) // カードアプリのときのみ + { + this->hWarnList->Add( this->makeMrcError("NandAccessSystem") ); + } + if( this->pRomHeader->s.access_control.sd_card_access != 0 ) + { + this->hWarnList->Add( this->makeMrcError("SDAccessSystem") ); + } + if( this->pRomHeader->s.access_control.game_card_on != 0 ) + { + this->hWarnList->Add( this->makeMrcError("GameCardNormalAccessSystem") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForLauncher != 0 ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES Slot B (JPEG signature) for the launcher") ); + } + if( this->pRomHeader->s.access_control.game_card_nitro_mode != 0 ) + { + this->hWarnList->Add( this->makeMrcError("GameCardNTRAccessSystem") ); + } + if( !this->IsMediaNand && 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") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_A_SSLClientCert ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "HW AES Slot A for the SSL client certification") ); + } + if( this->pRomHeader->s.access_control.common_client_key_for_debugger_sysmenu != 0 ) + { + this->hWarnList->Add( this->makeMrcError("IllegalAccessSystem", "Common Client Key for the debugger system menu") ); + } + + // その他のビット + u32 okbits = 0x80001FFF; + u32 *p = (u32*)&(this->pRomHeader->s); + if( p[ 0x1b4 / 4 ] & ~okbits ) + { + this->hErrorList->Add( this->makeMrcError("AccessDefault") ); } } else // ユーザアプリ { + if( this->pRomHeader->s.access_control.common_client_key != 0 ) + { + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "Common Client Key") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_B != 0 ) + { + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES Slot B for ES") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_C != 0 ) + { + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES Slot C for NAM") ); + } + if( !this->IsMediaNand && (this->pRomHeader->s.access_control.nand_access != 0) ) // カードアプリのときのみ + { + this->hErrorList->Add( this->makeMrcError("NandAccessUser") ); + } if( this->pRomHeader->s.access_control.sd_card_access != 0 ) { - this->hErrorList->Add( this->makeMrcError("SDAccess") ); + this->hErrorList->Add( this->makeMrcError("SDAccessUser") ); } - if( !this->IsMediaNand ) // カードアプリのときのみ + if( this->pRomHeader->s.access_control.game_card_on != 0 ) { - this->hErrorList->Add( this->makeMrcError("NandAccess") ); + this->hErrorList->Add( this->makeMrcError("GameCardNormalAccessUser") ); } - u32 okbits; - if( !this->IsMediaNand ) + if( this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForLauncher != 0 ) { - okbits = 0x00000008 | 0x00000010 | 0x00000040; // NAND | SD | Shared2ファイル (それぞれ個別でチェックするためここではチェックしない) + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES Slot B (JPEG signature) for the launcher") ); } - else + if( this->pRomHeader->s.access_control.game_card_nitro_mode != 0 ) { - okbits = 0x00000008 | 0x00000010 | 0x00000040 | 0x00000400; // NANDアプリのときはJpegSignフラグは許される + this->hErrorList->Add( this->makeMrcError("GameCardNTRAccessUser") ); } + if( !this->IsMediaNand && this->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForUser != 0 ) + { + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES SlotB (JPEG signature) for the user") ); + } + if( this->pRomHeader->s.access_control.hw_aes_slot_A_SSLClientCert ) + { + this->hErrorList->Add( this->makeMrcError("IllegalAccessUser", "HW AES Slot A for the SSL client certification") ); + } + 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") ); + } + + u32 okbits = 0x80001FFF; u32 *p = (u32*)&(this->pRomHeader->s); if( p[ 0x1b4 / 4 ] & ~okbits ) { diff --git a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml index 4dd257c..90839ec 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml +++ b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_e.xml @@ -222,46 +222,62 @@ - + Access Control Information Cannot set the Game Card access method to both Normal mode and NTR mode. 1b41b7FalseTrue - - - Access Control Information - Access to the SD Card is not permitted. - 1b41b7FalseTrue - - + + Access Control Information Access to the NAND flash is not permitted. 1b41b7FalseTrue - + + + Access Control Information + Access to the SD Card is not permitted. + 1b41b7FalseTrue + + + Access Control Information + The SD Card can be accessed. + 1b41b7FalseTrue + + + Access Control Information + Access to the Game Card is not permitted. + 1b41b7FalseTrue + + + Access Control Information + The Game Card can be accessed. + 1b41b7FalseTrue + + + Access Control Information + Access to the NTR-compatible region in the Game Card is not permitted. + 1b41b7FalseTrue + + + Access Control Information + The NTR-compatible region in the Game Card can be accessed. + 1b41b7FalseTrue + + + Access Control Information + Access to the {0} is not permitted. + 1b41b7FalseTrue + + + Access Control Information + The {0} can be accessed. + 1b41b7FalseTrue + Access Control Information - Configured not to allow access. + Illegal access bit(s) are set. This setting is not permitted. 1b41b7FalseTrue - - - Padding - Last {0} cannot be read. - 00FalseTrue - - - Padding - Last {0} must be padded by FFh. The limitations of {1} ROMs are not being observed. - 00FalseTrue - - - - - Reserved region - An illegal value is included. Pad this region with 00h only. - 00FalseTrue - - Shared2 file diff --git a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml index 024ab6a..442752d 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml +++ b/build/tools/MasterEditor/MasterEditorTWL/resource/mrc_msg_j.xml @@ -222,24 +222,59 @@ - + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア 繧イ繝シ繝繧ォ繝シ繝峨い繧ッ繧サ繧ケ險ュ螳壹↓繝弱シ繝槭Ν繝「繝シ繝峨→NTR繝「繝シ繝峨ョ荳。譁ケ繧定ィュ螳壹☆繧九%縺ィ縺ッ縺ァ縺阪∪縺帙s縲 1b41b7FalseTrue - - - 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア - SD繧ォ繝シ繝峨∈縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 - 1b41b7FalseTrue - - + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア 繧イ繝シ繝繧ォ繝シ繝臥畑繧ス繝輔ヨ縺ッNAND繝輔Λ繝繧キ繝・繝。繝「繝ェ縺ク縺ョ繧「繧ッ繧サ繧ケ繧定ィア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 1b41b7FalseTrue - + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + SD繧ォ繝シ繝峨∈縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + SD繧ォ繝シ繝峨∈繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ォ縺ェ縺」縺ヲ縺縺セ縺吶 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + 繧イ繝シ繝繧ォ繝シ繝峨∈縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + 繧イ繝シ繝繧ォ繝シ繝峨∈繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ォ縺ェ縺」縺ヲ縺縺セ縺吶 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + 繧イ繝シ繝繧ォ繝シ繝丑TR莠呈鋤鬆伜沺縺ク縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + 繧イ繝シ繝繧ォ繝シ繝丑TR莠呈鋤鬆伜沺縺ク繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ォ縺ェ縺」縺ヲ縺縺セ縺吶 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + {0} 縺ク縺ョ繧「繧ッ繧サ繧ケ縺ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 + 1b41b7FalseTrue + + + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア + {0} 縺ク繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ォ縺ェ縺」縺ヲ縺縺セ縺吶 + 1b41b7FalseTrue + 繧「繧ッ繧サ繧ケ繧ウ繝ウ繝医Ο繝シ繝ォ諠蝣ア - 險ア蜿ッ縺輔l縺ヲ縺縺ェ縺繧「繧ッ繧サ繧ケ縺瑚ィュ螳壹&繧後※縺縺セ縺吶ゅ%縺ョ險ュ螳壹ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 + 譛ェ螳夂セゥ縺ョ繧「繧ッ繧サ繧ケ繝薙ャ繝医′險ュ螳壹&繧後※縺縺セ縺吶ゅ%縺ョ險ュ螳壹ッ險ア蜿ッ縺輔l縺ヲ縺縺セ縺帙s縲 1b41b7FalseTrue