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;
|
||||
@ -897,6 +897,7 @@ void Checker::CheckAllEntries( CARDRomHashContext *context, Entry* gEntry, Entry
|
||||
{
|
||||
currentEntry->modified = true; // 改竄フラグ
|
||||
}
|
||||
if( mHeaderBuf->platform_code & 0x03) // TWL対応アプリなら
|
||||
{
|
||||
u8 d1, d2;
|
||||
CARD_CheckFileDigest( context, hisEntry, &d1, &d2);
|
||||
@ -949,7 +950,7 @@ u32 Checker::GetOctValue( char* hex_char)
|
||||
}
|
||||
|
||||
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;
|
||||
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);
|
||||
|
||||
if( entry->FindFileLocation( log_start_adr, log_end_adr))
|
||||
{
|
||||
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]");};
|
||||
{ // TODO:genuine側の対応アドレスはgenuineファイルエントリの先頭から計算し直す
|
||||
if( Diff( log_start_adr, (log_end_adr - log_start_adr),
|
||||
log_start_adr, (log_end_adr - log_start_adr),
|
||||
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);
|
||||
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);
|
||||
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ファイルを全て切り出して出力する */
|
||||
void ExportGenuineBmpFiles( Entry* gEntry, PrintLevel print_enable);
|
||||
@ -71,7 +71,7 @@ class Checker
|
||||
|
||||
|
||||
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);
|
||||
|
||||
// ƒ_ƒCƒWƒFƒXƒgŒŸ<C592>Ø(digest1, digest2)
|
||||
if( gHeaderBuf.platform_code & 0x03)
|
||||
{
|
||||
CARDi_Init( &context, &mHeaderBuf);
|
||||
CARD_DiffDigest( &context, &gHeaderBuf, gfp, &mHeaderBuf, mfp);
|
||||
@ -117,7 +118,7 @@ int main (int argc, char *argv[])
|
||||
{
|
||||
mEntry.FollowParent();
|
||||
mEntry.AutoSetFullPath();
|
||||
checker.CheckAllEntries( &context, &gEntry, &mEntry);
|
||||
checker.CheckAllEntries( &mHeaderBuf, &context, &gEntry, &mEntry);
|
||||
}
|
||||
checker.ExportGenuineBmpFiles( &gEntry, PRINT_LEVEL_0);
|
||||
/*
|
||||
@ -138,7 +139,7 @@ int main (int argc, char *argv[])
|
||||
|
||||
lfp = fopen( log_fname, "r");
|
||||
printf( "\n\n\nACCESS LOG\n");
|
||||
checker.FindAccessLogFile( &gEntry, lfp, &context);
|
||||
checker.FindAccessLogFile( &gHeaderBuf, &gEntry, lfp, &context);
|
||||
printf( "------------------\n");
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user