improve file type check

This commit is contained in:
Perfare
2020-03-26 02:17:48 +08:00
parent 2bcd9662be
commit c8d08b2793
3 changed files with 48 additions and 7 deletions

View File

@@ -330,5 +330,30 @@ namespace AssetStudio
return offset.ToString();
}
}
public static bool IsSerializedFile(EndianBinaryReader reader)
{
var fileSize = reader.BaseStream.Length;
if (fileSize < 16)
{
return false;
}
var m_MetadataSize = reader.ReadUInt32();
var m_FileSize = reader.ReadUInt32();
if (m_FileSize != fileSize)
{
reader.Position = 0;
return false;
}
var m_Version = reader.ReadUInt32();
var m_DataOffset = reader.ReadUInt32();
if (m_DataOffset > fileSize)
{
reader.Position = 0;
return false;
}
reader.Position = 0;
return true;
}
}
}