mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
HWセキュア情報を先、HWノーマル情報を後で書き込むように変更。(移行可能なユニークID新設への対応)
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1502 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
6366d977fd
commit
317a657116
@ -193,23 +193,12 @@ void HWInfoWriterMain( void )
|
||||
// HW情報全体のライト
|
||||
static void WriteHWInfoFile( u8 region, BOOL isDisableWireless )
|
||||
{
|
||||
static const u16 *pMsgNormalWriting = (const u16 *)L"Writing Normal File...";
|
||||
static const u16 *pMsgSecureWriting = (const u16 *)L"Writing Secure File...";
|
||||
static const u16 *pMsgNormalWriting = (const u16 *)L"Writing Normal File...";
|
||||
static const u16 *pMsgHWIDSignWriting = (const u16 *)L"Writing HWID Sign File...";
|
||||
static const u16 *pMsgSucceeded = (const u16 *)L"Succeeded!";
|
||||
static const u16 *pMsgFailed = (const u16 *)L"Failed!";
|
||||
|
||||
// -------------------------------------
|
||||
// ノーマルファイルのライト
|
||||
// -------------------------------------
|
||||
(void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalWriting );
|
||||
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
// セキュアファイルのライト
|
||||
// -------------------------------------
|
||||
@ -220,7 +209,18 @@ static void WriteHWInfoFile( u8 region, BOOL isDisableWireless )
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
// ノーマルファイルのライト (移行可能なユニークIDのためセキュアファイルの後でライトする)
|
||||
// -------------------------------------
|
||||
(void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalWriting );
|
||||
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
// HWID署名ファイルのライト
|
||||
// -------------------------------------
|
||||
@ -248,22 +248,12 @@ static void WriteHWInfoFile( u8 region, BOOL isDisableWireless )
|
||||
// HWInfoファイルの削除
|
||||
static void DeleteHWInfoFile( void )
|
||||
{
|
||||
static const u16 *pMsgNormalDeleting = (const u16 *)L"Deleting Normal File...";
|
||||
static const u16 *pMsgSecureDeleting = (const u16 *)L"Deteting Secure File...";
|
||||
static const u16 *pMsgNormalDeleting = (const u16 *)L"Deleting Normal File...";
|
||||
static const u16 *pMsgHWIDSignDeleting = (const u16 *)L"Deteting HWID Sign File.";
|
||||
static const u16 *pMsgSucceeded = (const u16 *)L"Succeeded!";
|
||||
static const u16 *pMsgFailed = (const u16 *)L"Failed!";
|
||||
|
||||
// -------------------------------------
|
||||
// ノーマルファイルの削除
|
||||
// -------------------------------------
|
||||
(void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalDeleting );
|
||||
if( HWI_DeleteHWNormalInfoFile() ) {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
// セキュアファイルの削除
|
||||
// -------------------------------------
|
||||
@ -273,7 +263,17 @@ static void DeleteHWInfoFile( void )
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
|
||||
// -------------------------------------
|
||||
// ノーマルファイルの削除
|
||||
// -------------------------------------
|
||||
(void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalDeleting );
|
||||
if( HWI_DeleteHWNormalInfoFile() ) {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
||||
}else {
|
||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed );
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
// HWID署名ファイルの削除
|
||||
// -------------------------------------
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
#include "hwi.h"
|
||||
|
||||
// define data------------------------------------------
|
||||
#ifdef FIRM_USE_PRODUCT_KEYS // Œ®‘I‘ðƒXƒCƒbƒ`
|
||||
#ifdef FIRM_USE_PRODUCT_KEYS // Œ®‘I‘ðƒXƒCƒbƒ`
|
||||
#define HWINFO_PRIVKEY_PATH "rom:key/private_HWInfo.der" // 製品用秘密鍵
|
||||
#else
|
||||
#define HWINFO_PRIVKEY_PATH "rom:key/private_HWInfo_dev.der" // 開発用秘密鍵
|
||||
@ -197,7 +197,14 @@ static BOOL ReadHWInfoFile( void )
|
||||
{
|
||||
LCFGReadResult retval;
|
||||
BOOL result = TRUE;
|
||||
OSTick start = OS_GetTick();
|
||||
|
||||
retval = LCFGi_THW_ReadSecureInfo();
|
||||
if( retval == LCFG_TSF_READ_RESULT_SUCCEEDED ) {
|
||||
OS_TPrintf( "HW Secure Info read succeeded.\n" );
|
||||
}else {
|
||||
result = FALSE;
|
||||
OS_TPrintf( "HW Secure Info read failed.\n" );
|
||||
}
|
||||
|
||||
retval = LCFGi_THW_ReadNormalInfo();
|
||||
if( retval == LCFG_TSF_READ_RESULT_SUCCEEDED ) {
|
||||
@ -207,35 +214,22 @@ static BOOL ReadHWInfoFile( void )
|
||||
OS_TPrintf( "HW Normal Info read failed.\n" );
|
||||
}
|
||||
|
||||
// OS_TPrintf( "HW Normal Info read time = %dms\n", OS_TicksToMilliSeconds( OS_GetTick() - start ) );
|
||||
|
||||
start = OS_GetTick();
|
||||
retval = LCFGi_THW_ReadSecureInfo();
|
||||
if( retval == LCFG_TSF_READ_RESULT_SUCCEEDED ) {
|
||||
OS_TPrintf( "HW Secure Info read succeeded.\n" );
|
||||
}else {
|
||||
result = FALSE;
|
||||
OS_TPrintf( "HW Secure Info read failed.\n" );
|
||||
}
|
||||
// OS_TPrintf( "HW Secure Info read time = %dms\n", OS_TicksToMilliSeconds( OS_GetTick() - start ) );
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// HWInfoファイルのベリファイ
|
||||
static void VerifyHWInfo( void )
|
||||
{
|
||||
if( VerifyData( (const u8 *)LCFG_THW_GetNormalInfo(), (const u8 *)LCFG_THW_GetDefaultNormalInfo(), sizeof(LCFGTWLHWNormalInfo) ) ) {
|
||||
OS_TPrintf( "HW normal Info verify succeeded.\n" );
|
||||
}else {
|
||||
OS_TPrintf( "HW normal Info verify failed.\n" );
|
||||
}
|
||||
if( VerifyData( (const u8 *)LCFG_THW_GetSecureInfo(), (const u8 *)LCFG_THW_GetDefaultSecureInfo(), sizeof(LCFGTWLHWSecureInfo) ) ) {
|
||||
OS_TPrintf( "HW secure Info verify succeeded.\n" );
|
||||
}else {
|
||||
OS_TPrintf( "HW secure Info verify failed.\n" );
|
||||
}
|
||||
|
||||
if( VerifyData( (const u8 *)LCFG_THW_GetNormalInfo(), (const u8 *)LCFG_THW_GetDefaultNormalInfo(), sizeof(LCFGTWLHWNormalInfo) ) ) {
|
||||
OS_TPrintf( "HW normal Info verify succeeded.\n" );
|
||||
}else {
|
||||
OS_TPrintf( "HW normal Info verify failed.\n" );
|
||||
}
|
||||
}
|
||||
|
||||
// メモリ上のデータベリファイ
|
||||
@ -270,7 +264,7 @@ BOOL HWI_ModifyLanguage( u8 region )
|
||||
if (!ReadTWLSettings())
|
||||
{
|
||||
result = FALSE;
|
||||
OS_TPrintf( "HW Normal Info read failed.\n" );
|
||||
OS_TPrintf( "Read TWLSettings failed.\n" );
|
||||
}
|
||||
|
||||
if( langBitmap & ( 0x0001 << nowLanguage ) ) {
|
||||
|
||||
@ -284,28 +284,28 @@ void* HWInfoProcess2(void)
|
||||
|
||||
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
||||
{
|
||||
static const char *pMsgNormalWriting = "Writing Normal File...";
|
||||
static const char *pMsgSecureWriting = "Writing Secure File...";
|
||||
static const char *pMsgNormalWriting = "Writing Normal File...";
|
||||
static const char *pMsgSignWriting = "Writing Sign File...";
|
||||
static const char *pMsgSucceeded = "Success!\n";
|
||||
static const char *pMsgFailed = "Failed!\n";
|
||||
u32 installedSoftBoxCount = 0;
|
||||
BOOL result = TRUE;
|
||||
|
||||
// ノーマルファイルのライト
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgNormalWriting );
|
||||
// セキュアファイルのライト
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureWriting );
|
||||
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||
}else {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||
result = FALSE;
|
||||
}
|
||||
|
||||
// セキュアファイルのライト
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureWriting );
|
||||
// ノーマルファイルのライト(移行可能なユニークIDのためにセキュアファイルの後で書き込む)
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgNormalWriting );
|
||||
|
||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||
}else {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||
|
||||
@ -61,24 +61,24 @@ BOOL DeleteHWInfoFile( void );
|
||||
|
||||
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
||||
{
|
||||
static const char *pMsgNormalWriting = "Writing Normal File...";
|
||||
static const char *pMsgSecureWriting = "Writing Secure File...";
|
||||
static const char *pMsgNormalWriting = "Writing Normal File...";
|
||||
static const char *pMsgSignWriting = "Writing Sign File...";
|
||||
static const char *pMsgSucceeded = "Success!\n";
|
||||
static const char *pMsgFailed = "Failed!\n";
|
||||
u32 installedSoftBoxCount = 0;
|
||||
BOOL result = TRUE;
|
||||
|
||||
// ノーマルファイルのライト
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
// セキュアファイルのライト
|
||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
||||
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||
}else {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||
result = FALSE;
|
||||
}
|
||||
|
||||
// セキュアファイルのライト
|
||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
||||
// ノーマルファイルのライト(移行可能なユニークIDのためにセキュアファイルの後で書き込む)
|
||||
if( HWI_WriteHWNormalInfoFile() ) {
|
||||
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||
}else {
|
||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user