mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
NANDアプリの製品版システムコール復号化。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1813 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
1f5b8412fd
commit
f55ccdae1c
@ -166,10 +166,16 @@ static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget*
|
||||
// FSによってshared領域にコピーされたランチャー自身のマウントパスのクリア
|
||||
MI_CpuClearFast((char *)HW_TWL_FS_BOOT_SRL_PATH_BUF, OS_MOUNT_PATH_LEN);
|
||||
|
||||
// カードアプリの場合はARM9FLXの先頭2k暗号オブジェクトをデクリプト
|
||||
if( SYSMi_GetWork()->flags.common.isCardBoot ) {
|
||||
// NAND/TMPアプリ用KeyTableの生成
|
||||
if( ! SYSMi_GetWork()->flags.common.isCardBoot )
|
||||
{
|
||||
HOTSWi_MakeBlowfishTableDSForNAND();
|
||||
}
|
||||
// ARM9FLXの先頭2k暗号オブジェクトをデクリプト
|
||||
{
|
||||
// 再配置情報があればそちらのアドレス、なければヘッダ指定のアドレス
|
||||
void *addr = (SYSMi_GetWork()->romRelocateInfo[0].src != NULL) ? SYSMi_GetWork()->romRelocateInfo[0].src : dh->s.main_ram_address;
|
||||
HOTSWi_SetSecureSegmentBuffer(HOTSW_MODE1, addr, SECURE_AREA_SIZE);
|
||||
HOTSW_DecryptObjectFile( addr );
|
||||
}
|
||||
|
||||
|
||||
@ -1165,6 +1165,13 @@ void HOTSW_SetBootSegmentBuffer(void* buf, u32 size)
|
||||
注:カードデータロード中は呼び出さないようにする
|
||||
*---------------------------------------------------------------------------*/
|
||||
void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size)
|
||||
{
|
||||
HOTSWi_SetSecureSegmentBuffer(type, buf, size);
|
||||
// バッファの初期化
|
||||
MI_CpuClear8(s_pSecureSegBuffer, size);
|
||||
}
|
||||
|
||||
void HOTSWi_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size)
|
||||
{
|
||||
SDK_ASSERT(size > SECURE_SEGMENT_SIZE);
|
||||
|
||||
@ -1174,17 +1181,12 @@ void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size)
|
||||
|
||||
s_cbData.pSecureSegBuf = s_pSecureSegBuffer;
|
||||
|
||||
// バッファの初期化
|
||||
MI_CpuClear8(s_pSecureSegBuffer, size);
|
||||
}
|
||||
else{
|
||||
s_pSecure2SegBuffer = (u32 *)buf;
|
||||
s_Secure2SegBufSize = size;
|
||||
|
||||
s_cbData.pSecure2SegBuf = s_pSecure2SegBuffer;
|
||||
|
||||
// バッファの初期化
|
||||
MI_CpuClear8(s_pSecure2SegBuffer, size);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2378,6 +2380,17 @@ static BOOL CheckExtArm9HashValue(void)
|
||||
#endif
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: HOTSWi_GetCardBootData
|
||||
|
||||
Description:
|
||||
*---------------------------------------------------------------------------*/
|
||||
void *HOTSWi_GetCardBootData(void)
|
||||
{
|
||||
return &s_cbData;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: DebugPrintErrorMessage
|
||||
|
||||
|
||||
@ -18,6 +18,18 @@
|
||||
// Function Prototype -------------------------------------------------------
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: MakeBlowfishTableDSForNAND
|
||||
|
||||
Description: NANDアプリ用KeyTableの生成
|
||||
*---------------------------------------------------------------------------*/
|
||||
void HOTSWi_MakeBlowfishTableDSForNAND(void)
|
||||
{
|
||||
CardBootData *cbd = HOTSWi_GetCardBootData();
|
||||
cbd->pBootSegBuf = (void*)SYSM_APP_ROM_HEADER_BUF;
|
||||
MakeBlowfishTableDS(cbd, 8);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: MakeBlowfishTableDS
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user