mirror of
https://github.com/rvtr/TwlToolsRED.git
synced 2025-10-31 06:41:18 -04:00
TWL非対応srlで動かなくなっていたので修正
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@570 7061adef-622a-194b-ae81-725974e89856
This commit is contained in:
parent
f7270205be
commit
67f4b5ba8a
@ -845,7 +845,7 @@ void Checker::ExportGenuineBmpFiles( Entry* gEntry, PrintLevel print_enable)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ディレクトリとファイルをチェックする */
|
/* ディレクトリとファイルをチェックする */
|
||||||
void Checker::CheckAllEntries( CARDRomHashContext *context, Entry* gEntry, Entry* mEntry)
|
void Checker::CheckAllEntries( RomHeader* mHeaderBuf, CARDRomHashContext *context, Entry* gEntry, Entry* mEntry)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
MyDirEntry *currentEntry = gEntry->dirEntry;
|
MyDirEntry *currentEntry = gEntry->dirEntry;
|
||||||
@ -897,6 +897,7 @@ void Checker::CheckAllEntries( CARDRomHashContext *context, Entry* gEntry, Entry
|
|||||||
{
|
{
|
||||||
currentEntry->modified = true; // 改竄フラグ
|
currentEntry->modified = true; // 改竄フラグ
|
||||||
}
|
}
|
||||||
|
if( mHeaderBuf->platform_code & 0x03) // TWL対応アプリなら
|
||||||
{
|
{
|
||||||
u8 d1, d2;
|
u8 d1, d2;
|
||||||
CARD_CheckFileDigest( context, hisEntry, &d1, &d2);
|
CARD_CheckFileDigest( context, hisEntry, &d1, &d2);
|
||||||
@ -949,7 +950,7 @@ u32 Checker::GetOctValue( char* hex_char)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char logBuf[0x46];
|
char logBuf[0x46];
|
||||||
void Checker::FindAccessLogFile( Entry* entry, FILE* lfp, CARDRomHashContext *context)
|
void Checker::FindAccessLogFile( RomHeader* gHeaderBuf, Entry* entry, FILE* lfp, CARDRomHashContext *context)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
u8 d1, d2;
|
u8 d1, d2;
|
||||||
@ -980,10 +981,22 @@ void Checker::FindAccessLogFile( Entry* entry, FILE* lfp, CARDRomHashContext *co
|
|||||||
printf( "%d 0x%lx - 0x%lx", i, log_start_adr, log_end_adr);
|
printf( "%d 0x%lx - 0x%lx", i, log_start_adr, log_end_adr);
|
||||||
|
|
||||||
if( entry->FindFileLocation( log_start_adr, log_end_adr))
|
if( entry->FindFileLocation( log_start_adr, log_end_adr))
|
||||||
{
|
{ // TODO:genuine側の対応アドレスはgenuineファイルエントリの先頭から計算し直す
|
||||||
GetDigestResult( context, log_start_adr, log_end_adr, &d1, &d2);
|
if( Diff( log_start_adr, (log_end_adr - log_start_adr),
|
||||||
if( d1) { printf( "[d1:OK]");} else { printf( "[d1:NG]");};
|
log_start_adr, (log_end_adr - log_start_adr),
|
||||||
if( d2) { printf( "[d2:OK]");} else { printf( "[d2:NG]");};
|
true, PRINT_LEVEL_0))
|
||||||
|
{
|
||||||
|
printf( "[data:OK]");
|
||||||
|
}else{
|
||||||
|
printf( "[data:NG]");
|
||||||
|
}
|
||||||
|
|
||||||
|
if( gHeaderBuf->platform_code & 0x03)
|
||||||
|
{
|
||||||
|
GetDigestResult( context, log_start_adr, log_end_adr, &d1, &d2);
|
||||||
|
if( d1) { printf( "[d1:OK]");} else { printf( "[d1:NG]");};
|
||||||
|
if( d2) { printf( "[d2:OK]");} else { printf( "[d2:NG]");};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
entry->FindAreaLocation( log_start_adr, log_end_adr);
|
entry->FindAreaLocation( log_start_adr, log_end_adr);
|
||||||
printf( "\n");
|
printf( "\n");
|
||||||
|
|||||||
@ -63,7 +63,7 @@ class Checker
|
|||||||
bool FindEntry( u32 fnt_offset, u16 entry_id, RomHeader* headerBuf, FILE* fp, Entry* entry, u16 parent_id, PrintLevel print_enable);
|
bool FindEntry( u32 fnt_offset, u16 entry_id, RomHeader* headerBuf, FILE* fp, Entry* entry, u16 parent_id, PrintLevel print_enable);
|
||||||
void FindAllocation( u16 entry_id, RomHeader* headerBuf, FILE* fp, Entry* entry, PrintLevel print_enable);
|
void FindAllocation( u16 entry_id, RomHeader* headerBuf, FILE* fp, Entry* entry, PrintLevel print_enable);
|
||||||
|
|
||||||
void CheckAllEntries( CARDRomHashContext *context, Entry* gEntry, Entry* mEntry);
|
void CheckAllEntries( RomHeader* mHeaderBuf, CARDRomHashContext *context, Entry* gEntry, Entry* mEntry);
|
||||||
|
|
||||||
/* ROM内のBMPファイルを全て切り出して出力する */
|
/* ROM内のBMPファイルを全て切り出して出力する */
|
||||||
void ExportGenuineBmpFiles( Entry* gEntry, PrintLevel print_enable);
|
void ExportGenuineBmpFiles( Entry* gEntry, PrintLevel print_enable);
|
||||||
@ -71,7 +71,7 @@ class Checker
|
|||||||
|
|
||||||
|
|
||||||
u32 GetOctValue( char* hex_char);
|
u32 GetOctValue( char* hex_char);
|
||||||
void FindAccessLogFile( Entry* entry, FILE* lfp, CARDRomHashContext *context);
|
void FindAccessLogFile( RomHeader* gHeaderBuf, Entry* entry, FILE* lfp, CARDRomHashContext *context);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -92,6 +92,7 @@ int main (int argc, char *argv[])
|
|||||||
checker.LoadHeader( &gHeaderBuf, &mHeaderBuf);
|
checker.LoadHeader( &gHeaderBuf, &mHeaderBuf);
|
||||||
|
|
||||||
// ƒ_ƒCƒWƒFƒXƒgŒŸ<C592>Ø(digest1, digest2)
|
// ƒ_ƒCƒWƒFƒXƒgŒŸ<C592>Ø(digest1, digest2)
|
||||||
|
if( gHeaderBuf.platform_code & 0x03)
|
||||||
{
|
{
|
||||||
CARDi_Init( &context, &mHeaderBuf);
|
CARDi_Init( &context, &mHeaderBuf);
|
||||||
CARD_DiffDigest( &context, &gHeaderBuf, gfp, &mHeaderBuf, mfp);
|
CARD_DiffDigest( &context, &gHeaderBuf, gfp, &mHeaderBuf, mfp);
|
||||||
@ -117,7 +118,7 @@ int main (int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
mEntry.FollowParent();
|
mEntry.FollowParent();
|
||||||
mEntry.AutoSetFullPath();
|
mEntry.AutoSetFullPath();
|
||||||
checker.CheckAllEntries( &context, &gEntry, &mEntry);
|
checker.CheckAllEntries( &mHeaderBuf, &context, &gEntry, &mEntry);
|
||||||
}
|
}
|
||||||
checker.ExportGenuineBmpFiles( &gEntry, PRINT_LEVEL_0);
|
checker.ExportGenuineBmpFiles( &gEntry, PRINT_LEVEL_0);
|
||||||
/*
|
/*
|
||||||
@ -138,7 +139,7 @@ int main (int argc, char *argv[])
|
|||||||
|
|
||||||
lfp = fopen( log_fname, "r");
|
lfp = fopen( log_fname, "r");
|
||||||
printf( "\n\n\nACCESS LOG\n");
|
printf( "\n\n\nACCESS LOG\n");
|
||||||
checker.FindAccessLogFile( &gEntry, lfp, &context);
|
checker.FindAccessLogFile( &gHeaderBuf, &gEntry, lfp, &context);
|
||||||
printf( "------------------\n");
|
printf( "------------------\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user