mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
AES領域復号に使うカウンタの初期値セット忘れていたので追加
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1073 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
144871a860
commit
4db0d8c3d8
@ -114,7 +114,11 @@ void SYSM_StartDecryptAESRegion( ROM_Header_Short *hs )
|
||||
|
||||
// Workに開発/製品情報を格納
|
||||
SYSMi_GetWork()->isDeveloperAESMode = ( hs->developer_encrypt ? TRUE : FALSE );
|
||||
|
||||
|
||||
// Workにカウンタの初期値セット
|
||||
MI_CpuCopy8( hs->main_static_digest, SYSMi_GetWork()->counterAES[0], AES_BLOCK_SIZE ); // 領域1初期値
|
||||
MI_CpuCopy8( hs->sub_static_digest, SYSMi_GetWork()->counterAES[1], AES_BLOCK_SIZE ); // 領域2初期値
|
||||
|
||||
// Workに「鍵」or「シードとゲームコード」をセット
|
||||
if( hs->developer_encrypt )
|
||||
{
|
||||
@ -147,7 +151,6 @@ void SYSM_StartDecryptAESRegion( ROM_Header_Short *hs )
|
||||
#include <twl/aes/ARM7/lo.h>
|
||||
#include <firm/aes/ARM7/aes_init.h>
|
||||
|
||||
static BOOL aesFlag;
|
||||
static AESCounter aesCounter;
|
||||
|
||||
#define DMA_SEND 2
|
||||
@ -208,6 +211,10 @@ static void SYSMi_CallbackDecryptAESRegion(PXIFifoTag tag, u32 data, BOOL err)
|
||||
OS_TPrintf( "SYSM_StartDecryptAESRegion:Region %d skip.\n", l );
|
||||
continue;
|
||||
}
|
||||
|
||||
// カウンタの初期値セット
|
||||
MI_CpuCopy8( SYSMi_GetWork()->counterAES[l], &aesCounter, AES_BLOCK_SIZE );
|
||||
|
||||
// 鍵ロードして暗号化領域の復号開始
|
||||
ReplaceWithAes( SYSMi_GetWork()->addr_AESregion[l], SYSMi_GetWork()->size_AESregion[l] );
|
||||
// DMA転送なのでARM9のためのキャッシュフラッシュは不要のはず
|
||||
|
||||
@ -126,6 +126,7 @@ typedef struct SYSM_work {
|
||||
u8 keyAES[AES_KEY_SIZE]; // 開発版AES暗号化領域の復号に使用するKEY(に使うタイトルネーム)
|
||||
u8 idAES[GAME_CODE_MAX]; // 製品版AES暗号化領域の復号に使用するID(に使うゲームコード)
|
||||
u8 seedAES[AES_KEY_SIZE]; // 製品版AES暗号化領域の復号に使用するSEED
|
||||
u8 counterAES[2][AES_BLOCK_SIZE]; // AES暗号化領域の復号に使用するカウンタ初期値
|
||||
|
||||
// NTR-IPL2のレガシー 最終的には消すと思う
|
||||
BOOL enableCardNormalOnly;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user