From 6062f664feb72e727e2212da662edb19a24b078a Mon Sep 17 00:00:00 2001 From: nakasima Date: Wed, 27 Feb 2008 02:29:15 +0000 Subject: [PATCH] =?UTF-8?q?SHA1=E3=82=B3=E3=83=B3=E3=83=86=E3=82=AD?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=81=8C=E9=9D=9E=E3=82=AD=E3=83=A3=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=81=AB=E7=BD=AE=E3=81=8B=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=9F=E3=81=AE=E3=82=92=E3=82=B9=E3=82=BF=E3=83=83?= =?UTF-8?q?=E3=82=AF=EF=BC=88DTCM=E3=81=BE=E3=81=9F=E3=81=AF=E3=82=AD?= =?UTF-8?q?=E3=83=A3=E3=83=83=E3=82=B7=E3=83=A5=E9=A0=98=E5=9F=9F=EF=BC=89?= =?UTF-8?q?=E3=81=B8=E7=A7=BB=E5=8B=95=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/TwlIPL/trunk@751 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 8 +------- build/libraries_sysmenu/sysmenu/ARM9/src/title.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index dce098ac..ad3ee608 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -968,13 +968,7 @@ static void UnlockHotSwRsc(OSLockWord* word) * ----------------------------------------------------------------- */ BOOL HOTSW_IsCardAccessible(void) { -#ifndef DEBUG_USED_CARD_SLOT_B_ - u32 mask = (u32)(REG_MI_MC_SL1_CDET_MASK << GetMcSlotShift()); -#else - u32 mask = (u32)(REG_MI_MC_SL2_CDET_MASK >> GetMcSlotShift()); -#endif - - if( !(reg_MI_MC1 & mask) && CmpMcSlotMode(SLOT_STATUS_MODE_10) == TRUE){ + if( HOTSW_IsCardExist() && CmpMcSlotMode(SLOT_STATUS_MODE_10) == TRUE){ return TRUE; } else{ diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 1afa8494..ec83c64d 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -766,13 +766,16 @@ static AuthResult SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle ) // カードの場合のARM9_STATICハッシュチェック // カード読み込み時、work2に暗号化オブジェクト部分のハッシュ計算済みのコンテキストが保存されるので // それを用いてARM9_STATIC残りの部分を計算 - SVCHMACSHA1Context tempcon; - SVC_HMACSHA1Init( &tempcon, (void *)s_digestDefaultKey, DIGEST_HASH_BLOCK_SIZE_SHA1 ); - SYSMi_GetWork2()->hmac_sha1_context.sha1_ctx.sha_block = tempcon.sha1_ctx.sha_block;// この関数ポインタだけARM7とARM9で変えないとダメ - SVC_HMACSHA1Update( &(SYSMi_GetWork2()->hmac_sha1_context), + SVCHMACSHA1Context ctx; + SVC_HMACSHA1Init( &ctx, (void *)s_digestDefaultKey, DIGEST_HASH_BLOCK_SIZE_SHA1 ); + // [TODO] ARM7とのhmac_sha1_contextの排他制御開始 + SYSMi_GetWork2()->hmac_sha1_context.sha1_ctx.sha_block = ctx.sha1_ctx.sha_block;// この関数ポインタだけARM7とARM9で変えないとダメ + ctx = SYSMi_GetWork2()->hmac_sha1_context; // SYSMi_GetWork2は非キャッシュなのでスタック(DTCMまたはキャッシュ領域)へコピー + // [TODO] ARM7とのhmac_sha1_contextの排他制御終了 + SVC_HMACSHA1Update( &ctx, (const void*)((u32)module_addr[l] + ARM9_ENCRYPT_DEF_SIZE), (module_size[l] - ARM9_ENCRYPT_DEF_SIZE) ); - SVC_HMACSHA1GetHash( &(SYSMi_GetWork2()->hmac_sha1_context), calculated_hash ); + SVC_HMACSHA1GetHash( &ctx, calculated_hash ); }else { SVC_CalcHMACSHA1( calculated_hash, (const void*)module_addr[l], module_size[l],