マスタエディタ:アクセスコントロール情報の各ビットに対し個別にエラーを出すように変更。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@202 7061adef-622a-194b-ae81-725974e89856
This commit is contained in:
nishikawa_takeshi 2009-03-04 11:39:33 +00:00
parent 760b980921
commit 48cf7a88a5
10 changed files with 184 additions and 52 deletions

View File

@ -199,7 +199,7 @@ void Form1::setSrlForms(void)
} }
if( this->hSrl->IsCommonClientKeyForDebugger == true ) if( this->hSrl->IsCommonClientKeyForDebugger == true )
{ {
acc += "commonClientKey(Debug).\r\n"; acc += "commonClientKey(Debugger).\r\n";
} }
this->tboxAccessOther->Text = acc; this->tboxAccessOther->Text = acc;

View File

@ -6,7 +6,6 @@
#define METWL_LIGHT_CHECK // 提出条件を緩くするか #define METWL_LIGHT_CHECK // 提出条件を緩くするか
// 定数 // 定数
#define METWL_ERRLIST_NORANGE 0 // エラーのアドレス範囲を指定しないことを表す特別な値
#define METWL_ROMSIZE_MIN 256 // 最小のデバイス容量 256Mbit #define METWL_ROMSIZE_MIN 256 // 最小のデバイス容量 256Mbit
#define METWL_ROMSIZE_MAX 4096 // 最大の.. 4Gbit #define METWL_ROMSIZE_MAX 4096 // 最大の.. 4Gbit
#define METWL_ROMSIZE_MIN_NAND 1 #define METWL_ROMSIZE_MIN_NAND 1

View File

@ -117,7 +117,7 @@ ECDeliverableResult RCDeliverable::writeSpreadsheet(
} }
if( hSrl->IsCommonClientKeyForDebugger ) if( hSrl->IsCommonClientKeyForDebugger )
{ {
access += "commonClientKey(Debug). "; access += "commonClientKey(Debugger). ";
} }
// 使用ライセンス // 使用ライセンス

View File

@ -308,7 +308,7 @@ namespace MasterEditorTWL
// gridViewの表示形式にあわせる // gridViewの表示形式にあわせる
cli::array<System::Object^>^ getAll( System::Boolean isJapanese ) cli::array<System::Object^>^ getAll( System::Boolean isJapanese )
{ {
if( (this->begin == METWL_ERRLIST_NORANGE) && (this->end == METWL_ERRLIST_NORANGE) ) if( (this->begin == 0) && (this->end == 0) )
{ {
if( isJapanese ) if( isJapanese )
return (gcnew array<System::Object^>{this->hName, "-", "-", this->hMsg}); return (gcnew array<System::Object^>{this->hName, "-", "-", this->hMsg});

View File

@ -558,28 +558,110 @@ void RCSrl::mrcAccessControl(FILE *fp)
if( (this->pRomHeader->s.access_control.game_card_on != 0) && if( (this->pRomHeader->s.access_control.game_card_on != 0) &&
(this->pRomHeader->s.access_control.game_card_nitro_mode != 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 // ユーザアプリ 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 ) 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->pRomHeader->s.access_control.hw_aes_slot_B_SignJPEGForLauncher != 0 )
if( !this->IsMediaNand )
{ {
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); u32 *p = (u32*)&(this->pRomHeader->s);
if( p[ 0x1b4 / 4 ] & ~okbits ) if( p[ 0x1b4 / 4 ] & ~okbits )
{ {

View File

@ -222,46 +222,62 @@
</DifferentAppType> </DifferentAppType>
<!-- Access Control --> <!-- Access Control -->
<CardAccess> <CardAccessSystem>
<name>Access Control Information</name> <name>Access Control Information</name>
<sentence>Cannot set the Game Card access method to both Normal mode and NTR mode.</sentence> <sentence>Cannot set the Game Card access method to both Normal mode and NTR mode.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</CardAccess> </CardAccessSystem>
<SDAccess> <NandAccessUser>
<name>Access Control Information</name>
<sentence>Access to the SD Card is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccess>
<NandAccess>
<name>Access Control Information</name> <name>Access Control Information</name>
<sentence>Access to the NAND flash is not permitted.</sentence> <sentence>Access to the NAND flash is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</NandAccess> </NandAccessUser>
<SDAccessUser>
<name>Access Control Information</name>
<sentence>Access to the SD Card is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccessUser>
<SDAccessSystem>
<name>Access Control Information</name>
<sentence>The SD Card can be accessed.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccessSystem>
<GameCardNormalAccessUser>
<name>Access Control Information</name>
<sentence>Access to the Game Card is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNormalAccessUser>
<GameCardNormalAccessSystem>
<name>Access Control Information</name>
<sentence>The Game Card can be accessed.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNormalAccessSystem>
<GameCardNTRAccessUser>
<name>Access Control Information</name>
<sentence>Access to the NTR-compatible region in the Game Card is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNTRAccessUser>
<GameCardNTRAccessSystem>
<name>Access Control Information</name>
<sentence>The NTR-compatible region in the Game Card can be accessed.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNTRAccessSystem>
<IllegalAccessUser>
<name>Access Control Information</name>
<sentence>Access to the {0} is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</IllegalAccessUser>
<IllegalAccessSystem>
<name>Access Control Information</name>
<sentence>The {0} can be accessed.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</IllegalAccessSystem>
<AccessDefault> <AccessDefault>
<name>Access Control Information</name> <name>Access Control Information</name>
<sentence>Configured not to allow access.</sentence> <sentence>Illegal access bit(s) are set. This setting is not permitted.</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</AccessDefault> </AccessDefault>
<!-- Padding -->
<PaddingRead>
<name>Padding</name>
<sentence>Last {0} cannot be read.</sentence>
<begin>0</begin><end>0</end><modify>False</modify><affect>True</affect>
</PaddingRead>
<PaddingValue>
<name>Padding</name>
<sentence>Last {0} must be padded by FFh. The limitations of {1} ROMs are not being observed.</sentence>
<begin>0</begin><end>0</end><modify>False</modify><affect>True</affect>
</PaddingValue>
<!-- Reserved Area -->
<ReservedArea>
<name>Reserved region</name>
<sentence>An illegal value is included. Pad this region with 00h only.</sentence>
<begin>0</begin><end>0</end><modify>False</modify><affect>True</affect>
</ReservedArea>
<!-- Shared2 file --> <!-- Shared2 file -->
<Shared2Disable> <Shared2Disable>
<name>Shared2 file</name> <name>Shared2 file</name>

View File

@ -222,24 +222,59 @@
</DifferentAppType> </DifferentAppType>
<!-- Access Control --> <!-- Access Control -->
<CardAccess> <CardAccessSystem>
<name>アクセスコントロール情報</name> <name>アクセスコントロール情報</name>
<sentence>ゲームカードアクセス設定にーマルモードとNTRモードの両方を設定することはできません。</sentence> <sentence>ゲームカードアクセス設定にーマルモードとNTRモードの両方を設定することはできません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</CardAccess> </CardAccessSystem>
<SDAccess> <NandAccessUser>
<name>アクセスコントロール情報</name>
<sentence>SDカードへのアクセスは許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccess>
<NandAccess>
<name>アクセスコントロール情報</name> <name>アクセスコントロール情報</name>
<sentence>ゲームカード用ソフトはNANDフラッシュメモリへのアクセスを許可されていません。</sentence> <sentence>ゲームカード用ソフトはNANDフラッシュメモリへのアクセスを許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</NandAccess> </NandAccessUser>
<SDAccessUser>
<name>アクセスコントロール情報</name>
<sentence>SDカードへのアクセスは許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccessUser>
<SDAccessSystem>
<name>アクセスコントロール情報</name>
<sentence>SDカードへアクセス可能になっています。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</SDAccessSystem>
<GameCardNormalAccessUser>
<name>アクセスコントロール情報</name>
<sentence>ゲームカードへのアクセスは許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNormalAccessUser>
<GameCardNormalAccessSystem>
<name>アクセスコントロール情報</name>
<sentence>ゲームカードへアクセス可能になっています。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNormalAccessSystem>
<GameCardNTRAccessUser>
<name>アクセスコントロール情報</name>
<sentence>ゲームカードNTR互換領域へのアクセスは許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNTRAccessUser>
<GameCardNTRAccessSystem>
<name>アクセスコントロール情報</name>
<sentence>ゲームカードNTR互換領域へアクセス可能になっています。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</GameCardNTRAccessSystem>
<IllegalAccessUser>
<name>アクセスコントロール情報</name>
<sentence>{0} へのアクセスは許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</IllegalAccessUser>
<IllegalAccessSystem>
<name>アクセスコントロール情報</name>
<sentence>{0} へアクセス可能になっています。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</IllegalAccessSystem>
<AccessDefault> <AccessDefault>
<name>アクセスコントロール情報</name> <name>アクセスコントロール情報</name>
<sentence>許可されていないアクセスが設定されています。この設定は許可されていません。</sentence> <sentence>未定義のアクセスビットが設定されています。この設定は許可されていません。</sentence>
<begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect> <begin>1b4</begin><end>1b7</end><modify>False</modify><affect>True</affect>
</AccessDefault> </AccessDefault>