mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
アプリブート時のエントリアドレスのチェックを有効にする。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2194 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
869939185b
commit
1af31db9f8
@ -1518,13 +1518,11 @@ static void SYSMi_AuthenticateTitleThreadFunc( TitleProperty *pBootTitle )
|
|||||||
UTL_SetFatalError(FATAL_ERROR_TITLE_POINTER_ERROR);
|
UTL_SetFatalError(FATAL_ERROR_TITLE_POINTER_ERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
// エントリアドレスの正当性をチェック
|
// エントリアドレスの正当性をチェック
|
||||||
if( !SYSMi_CheckEntryAddress() ) {
|
if( !SYSMi_CheckEntryAddress() ) {
|
||||||
UTL_SetFatalError(FATAL_ERROR_ENTRY_ADDRESS_ERROR);
|
UTL_SetFatalError(FATAL_ERROR_ENTRY_ADDRESS_ERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// BOOTTYPE_MEMORYでNTRモードのFSありでブートすると、旧NitroSDKでビルドされたアプリの場合、
|
// BOOTTYPE_MEMORYでNTRモードのFSありでブートすると、旧NitroSDKでビルドされたアプリの場合、
|
||||||
// ROMアーカイブにカードが割り当てられて、FSで関係ないカードにアクセスにいってしまうので、それを防止する。
|
// ROMアーカイブにカードが割り当てられて、FSで関係ないカードにアクセスにいってしまうので、それを防止する。
|
||||||
|
|||||||
@ -115,7 +115,7 @@ BOOL SYSM_IsNTRCard( void )
|
|||||||
// エントリアドレスの正当性チェック
|
// エントリアドレスの正当性チェック
|
||||||
BOOL SYSMi_CheckEntryAddress( void )
|
BOOL SYSMi_CheckEntryAddress( void )
|
||||||
{
|
{
|
||||||
// エントリアドレスがROM内登録エリアかAGBカートリッジエリアなら、無限ループに入る。
|
// エントリアドレスがMMEMもしくはWRAMのロード可能領域外なら、不正と判定。
|
||||||
if( !( ( (u32)SYSM_GetCardRomHeader()->main_entry_address >= HW_MAIN_MEM ) &&
|
if( !( ( (u32)SYSM_GetCardRomHeader()->main_entry_address >= HW_MAIN_MEM ) &&
|
||||||
( (u32)SYSM_GetCardRomHeader()->main_entry_address < HW_TWL_MAIN_MEM_SHARED )
|
( (u32)SYSM_GetCardRomHeader()->main_entry_address < HW_TWL_MAIN_MEM_SHARED )
|
||||||
) ||
|
) ||
|
||||||
@ -123,6 +123,12 @@ BOOL SYSMi_CheckEntryAddress( void )
|
|||||||
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < HW_TWL_MAIN_MEM_SHARED ) ) ||
|
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < HW_TWL_MAIN_MEM_SHARED ) ) ||
|
||||||
( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= HW_WRAM_BASE ) &&
|
( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= HW_WRAM_BASE ) &&
|
||||||
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < SYSM_NTR_ARM7_LOAD_WRAM_END ) )
|
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < SYSM_NTR_ARM7_LOAD_WRAM_END ) )
|
||||||
|
) ||
|
||||||
|
!( ( (u32)SYSM_GetCardRomHeader()->main_entry_address >= (u32)SYSM_GetCardRomHeader()->main_ram_address ) &&
|
||||||
|
( (u32)SYSM_GetCardRomHeader()->main_entry_address < (u32)SYSM_GetCardRomHeader()->main_ram_address + SYSM_GetCardRomHeader()->main_size )
|
||||||
|
) ||
|
||||||
|
!( ( (u32)SYSM_GetCardRomHeader()->sub_entry_address >= (u32)SYSM_GetCardRomHeader()->sub_ram_address ) &&
|
||||||
|
( (u32)SYSM_GetCardRomHeader()->sub_entry_address < (u32)SYSM_GetCardRomHeader()->sub_ram_address + SYSM_GetCardRomHeader()->sub_size )
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
OS_TPrintf("entry address invalid.\n");
|
OS_TPrintf("entry address invalid.\n");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user