ROMヘッダ偽装:-Dオプションでデバッガ動作禁止フラグを立てれるように変更。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2585 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
nishikawa_takeshi 2008-10-06 02:39:29 +00:00
parent 01df175e5b
commit c960ab506e

View File

@ -63,6 +63,7 @@ typedef struct _SContext
BOOL bSignFlag;
BOOL bDevFlag;
BOOL bVerFlag;
BOOL bDebugger;
int verNum;
BOOL bMROM;
@ -108,6 +109,7 @@ void usage()
printf( "-d : negate a new developer encrypt flag, and assert an old one.\n" );
printf( "-v NUM: change ROM version in a ROM Header.\n" );
printf( "-m : [Only NTR limited ROM] Rom speed type replace 1TROM from MROM\n" );
printf( "-D : assert a disable flag of debugger alalysis\n" );
printf( "-----------------------------------------------------------------------------\n" );
}
@ -129,7 +131,7 @@ int main(int argc, char *argv[])
memset( &context, 0, sizeof(SContext) );
// オプション
while( (opt = getopt(argc, argv, "hpsdmv:")) >= 0 )
while( (opt = getopt(argc, argv, "hpsdmv:D")) >= 0 )
{
switch( opt )
{
@ -158,6 +160,10 @@ int main(int argc, char *argv[])
case 'm':
context.bMROM = TRUE;
break;
case 'D':
context.bDebugger = TRUE;
break;
default: // オプション引数が指定されていないときにも実行される
usage();
@ -307,6 +313,19 @@ static BOOL iMain( SContext *pContext )
SetRomSpeedByIndex( &rh, ONETROM );
printf( "ROM Speed Type: **** -> 1TROM\n" );
}
if( pContext->bDebugger )
{
if( rh.s.disable_debug == 0 )
{
rh.s.disable_debug = 0x1;
printf( "Debugger analysis: Enable -> Disable\n" );
}
else
{
printf( "Debugger analysis: Originally Disable\n" );
}
}
}
// ヘッダCRC計算