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@1422 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
df127afa02
commit
ae78f232be
@ -803,8 +803,8 @@ BOOL SYSM_IsLoadTitleFinished( void )
|
||||
//
|
||||
// ============================================================================
|
||||
|
||||
// TWLアプリおよびNTR拡張NANDアプリ共通のヘッダ認証処理
|
||||
static AuthResult SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle, ROM_Header *head )
|
||||
// 署名つきアプリ(≠DSダウンロードアプリ署名)共通のヘッダ認証処理
|
||||
static AuthResult SYSMi_AuthenticateHeaderWithSign( TitleProperty *pBootTitle, ROM_Header *head )
|
||||
{
|
||||
// 署名処理
|
||||
const u8 *key;
|
||||
@ -818,6 +818,7 @@ static AuthResult SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle, ROM_He
|
||||
start = OS_GetTick();
|
||||
|
||||
// pBootTitle->titleIDとROMヘッダのtitleIDの一致確認をする。
|
||||
// [TODO:]ホワイトリストマスタリングされたNTRアプリで行わない場合はSYSMi_AuthenticateTWLHeaderへ移動
|
||||
if( pBootTitle->titleID != head->s.titleID )
|
||||
{
|
||||
//TWL対応ROMで、ヘッダのtitleIDが起動指定されたIDと違う
|
||||
@ -907,7 +908,21 @@ static AuthResult SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle, ROM_He
|
||||
return AUTH_RESULT_SUCCEEDED;
|
||||
}
|
||||
|
||||
// TWLアプリおよびNTR拡張NANDアプリ共通の認証
|
||||
// TWLアプリ、NTR拡張NANDアプリ 共通のヘッダ認証処理
|
||||
static AuthResult SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle, ROM_Header *head )
|
||||
{
|
||||
if( head->s.enable_signature )
|
||||
{
|
||||
return SYSMi_AuthenticateHeaderWithSign( pBootTitle, head );
|
||||
}else
|
||||
{
|
||||
// 署名有効フラグが立っていなければFAILED
|
||||
OS_TPrintf("Authenticate_Header failed: Sign check flag is OFF.\n");
|
||||
return AUTH_RESULT_AUTHENTICATE_FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
// TWLアプリ、NTR拡張NANDアプリ 共通の認証
|
||||
static AuthResult SYSMi_AuthenticateTWLTitle( TitleProperty *pBootTitle )
|
||||
{
|
||||
ROM_Header *head;
|
||||
@ -1084,16 +1099,40 @@ static AuthResult SYSMi_AuthenticateNTRDownloadTitle( TitleProperty *pBootTitle)
|
||||
// NTR版カードアプリのヘッダ認証処理
|
||||
static AuthResult SYSMi_AuthenticateNTRCardAppHeader( TitleProperty *pBootTitle, ROM_Header *head )
|
||||
{
|
||||
#pragma unused(pBootTitle,head)
|
||||
// [TODO:]NTRカード ホワイトリストorホワイトリスト署名チェック
|
||||
return AUTH_RESULT_SUCCEEDED;
|
||||
AuthResult ret;
|
||||
if( head->s.enable_nitro_whitelist_signature )
|
||||
{
|
||||
// マスタリング済みNTRカードアプリの署名チェック(実はTWLアプリと同じ)
|
||||
ret = SYSMi_AuthenticateHeaderWithSign( pBootTitle, head );
|
||||
if( ret == AUTH_RESULT_SUCCEEDED )
|
||||
{
|
||||
#ifdef DHT_TEST
|
||||
// [TODO:]retを捕まえてOKならhash値をstatic変数に保存しておき、DHTのphase1とphase2で使う
|
||||
#endif
|
||||
}
|
||||
}else
|
||||
{
|
||||
// [TODO:]NTRカード ホワイトリスト検索
|
||||
// ホワイトリスト検索
|
||||
ret = AUTH_RESULT_SUCCEEDED;
|
||||
if( ret == AUTH_RESULT_SUCCEEDED )
|
||||
{
|
||||
#ifdef DHT_TEST
|
||||
// [TODO:]retを捕まえてOKならhash値をstatic変数に保存しておき、DHTのphase1とphase2で使う
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
// NTR版カードアプリの認証
|
||||
static AuthResult SYSMi_AuthenticateNTRCardTitle( TitleProperty *pBootTitle)
|
||||
{
|
||||
#pragma unused(pBootTitle)
|
||||
// [TODO:]DHTチェック
|
||||
// [TODO:]DHTチェックphase2(phase1はstaticの読み込み時に平行処理)
|
||||
#ifdef DHT_TEST
|
||||
|
||||
#endif
|
||||
return AUTH_RESULT_SUCCEEDED;
|
||||
}
|
||||
|
||||
@ -1102,7 +1141,6 @@ static AuthResult SYSMi_AuthenticateHeader( TitleProperty *pBootTitle, ROM_Heade
|
||||
{
|
||||
ROM_Header_Short *hs = ( ROM_Header_Short *)head;
|
||||
// [TODO:]認証結果はどこかワークに保存しておく?
|
||||
// [TODO:]署名チェックを行う場合、ヘッダに署名ビットがあるはずなので、それを確認して署名チェックを行う
|
||||
if( hs->platform_code & PLATFORM_CODE_FLAG_TWL )
|
||||
{
|
||||
// TWLアプリ
|
||||
@ -1163,7 +1201,6 @@ static AuthResult SYSMi_AuthenticateTitleCore( TitleProperty *pBootTitle)
|
||||
{
|
||||
ROM_Header_Short *hs = ( ROM_Header_Short *)SYSM_APP_ROM_HEADER_BUF;
|
||||
// [TODO:]認証結果はどこかワークに保存しておく?
|
||||
// [TODO:]署名チェックを行う場合、ヘッダに署名ビットがあるはずなので、それを確認して署名チェックを行う
|
||||
if( hs->platform_code & PLATFORM_CODE_FLAG_TWL )
|
||||
{
|
||||
// TWLアプリ
|
||||
|
||||
@ -32,7 +32,7 @@ TARGET_FOB = ARM9FLX.fob
|
||||
FBDSIZE_ARM9FLX = 1810720
|
||||
TARGET_FOB += ARM9LTD.fob
|
||||
#ARM9_LTD_addsize
|
||||
FBDSIZE_ARM9LTD = 3097152
|
||||
FBDSIZE_ARM9LTD = 2597152
|
||||
|
||||
TARGET_NUMBER = 1
|
||||
TARGET_NAME = RelocateChecker$(TARGET_NUMBER)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user