mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
AES鍵破壊APIのインライン化と鍵Dを触らないように修正
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@726 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
4427f9a116
commit
b6801335fb
@ -35,8 +35,6 @@ void AESi_InitKeysForApp( u8 game_code[4] )
|
||||
|
||||
reg_AES_AES_ID_A2 = AES_IDS_ID0_C(game_code);
|
||||
reg_AES_AES_ID_A3 = AES_IDS_ID0_D(game_code);
|
||||
reg_AES_AES_ID_B0 = AES_IDS_ID1_A(game_code);
|
||||
reg_AES_AES_ID_B1 = AES_IDS_ID1_B(game_code);
|
||||
AES_Unlock();
|
||||
}
|
||||
|
||||
@ -62,53 +60,6 @@ void AESi_InitKeysForHard( u8 fuse[8] )
|
||||
AES_Unlock();
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: AESi_ResetAesKey
|
||||
|
||||
Description: set SEED/KEYs filler data without seed[3]
|
||||
|
||||
Arguments: None
|
||||
|
||||
Returns: None
|
||||
*---------------------------------------------------------------------------*/
|
||||
void AESi_ResetAesKey( void )
|
||||
{
|
||||
AES_Lock();
|
||||
AES_WaitKey();
|
||||
|
||||
// set dummy without seed[3]
|
||||
reg_AES_AES_SEED_A0 = 1;
|
||||
reg_AES_AES_SEED_A1 = 2;
|
||||
reg_AES_AES_SEED_A2 = 3;
|
||||
reg_AES_AES_SEED_B0 = 4;
|
||||
reg_AES_AES_SEED_B1 = 5;
|
||||
reg_AES_AES_SEED_B2 = 6;
|
||||
reg_AES_AES_SEED_C0 = 7;
|
||||
reg_AES_AES_SEED_C1 = 8;
|
||||
reg_AES_AES_SEED_C2 = 9;
|
||||
reg_AES_AES_SEED_D0 = 10;
|
||||
reg_AES_AES_SEED_D1 = 11;
|
||||
reg_AES_AES_SEED_D2 = 12;
|
||||
|
||||
reg_AES_AES_KEY_A0 = 1;
|
||||
reg_AES_AES_KEY_A1 = 2;
|
||||
reg_AES_AES_KEY_A2 = 3;
|
||||
reg_AES_AES_KEY_A3 = 3;
|
||||
reg_AES_AES_KEY_B0 = 4;
|
||||
reg_AES_AES_KEY_B1 = 5;
|
||||
reg_AES_AES_KEY_B2 = 6;
|
||||
reg_AES_AES_KEY_B3 = 6;
|
||||
reg_AES_AES_KEY_C0 = 7;
|
||||
reg_AES_AES_KEY_C1 = 8;
|
||||
reg_AES_AES_KEY_C2 = 9;
|
||||
reg_AES_AES_KEY_C3 = 9;
|
||||
reg_AES_AES_KEY_D0 = 10;
|
||||
reg_AES_AES_KEY_D1 = 11;
|
||||
reg_AES_AES_KEY_D2 = 12;
|
||||
reg_AES_AES_KEY_D3 = 12;
|
||||
AES_Unlock();
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: AESi_InitSeedWithRomHeader
|
||||
|
||||
|
||||
@ -20,9 +20,9 @@
|
||||
|
||||
#define AES_IDS_ID0_C(c) (((unsigned long)c[0] << 0) | ((unsigned long)c[1] << 8) | ((unsigned long)c[2] << 16) | ((unsigned long)c[3] << 24))
|
||||
#define AES_IDS_ID0_D(c) (((unsigned long)c[3] << 0) | ((unsigned long)c[2] << 8) | ((unsigned long)c[1] << 16) | ((unsigned long)c[0] << 24))
|
||||
|
||||
#if 0 // not specialized for application
|
||||
#define AES_IDS_ID1_A(c) (((unsigned long)c[3] << 0) | ((unsigned long)c[1] << 8) | ((unsigned long)c[2] << 16) | ((unsigned long)c[0] << 24))
|
||||
#define AES_IDS_ID1_B(c) (((unsigned long)c[0] << 0) | ((unsigned long)c[2] << 8) | ((unsigned long)c[1] << 16) | ((unsigned long)c[3] << 24))
|
||||
|
||||
#endif
|
||||
/* TWL_AES_AES_IDS_H_ */
|
||||
#endif
|
||||
|
||||
@ -54,13 +54,23 @@ void AESi_InitKeysForHard( u8 fuse[8] );
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: AESi_ResetAesKey
|
||||
|
||||
Description: set SEED/KEYs by dummy data without seed[3]
|
||||
Description: set SEED/ID/KEYs filler data without slot-D
|
||||
|
||||
Arguments: None
|
||||
|
||||
Returns: None
|
||||
*---------------------------------------------------------------------------*/
|
||||
void AESi_ResetAesKey( void );
|
||||
static inline void AESi_ResetAesKey( void )
|
||||
{
|
||||
AES_Lock();
|
||||
AES_WaitKey();
|
||||
|
||||
MI_CpuCopy32( (u32*)AESi_ResetAesKey, (u32*)REG_AES_KEY_A0_ADDR+1, 40 );
|
||||
MI_CpuCopy32( (u32*)AESi_ResetAesKey+10, (u32*)REG_AES_KEY_B0_ADDR+1, 40 );
|
||||
MI_CpuCopy32( (u32*)AESi_ResetAesKey+20, (u32*)REG_AES_KEY_C0_ADDR+1, 40 );
|
||||
|
||||
AES_Unlock();
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: AESi_InitKeysFIRM
|
||||
|
||||
Loading…
Reference in New Issue
Block a user