mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-02-12 05:35:17 +00:00
Add ExeFS printing
This commit is contained in:
@@ -197,6 +197,13 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
#endregion
|
||||
|
||||
#region ExeFS Headers
|
||||
|
||||
/// <inheritdoc cref="Models.N3DS.Cart.ExeFSHeaders"/>
|
||||
public Models.N3DS.ExeFSHeader[] ExeFSHeaders => _cart.ExeFSHeaders;
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Instance Variables
|
||||
@@ -276,6 +283,7 @@ namespace BurnOutSharp.Wrappers
|
||||
PrintDevelopmentCardInfoHeader();
|
||||
PrintPartitions();
|
||||
PrintExtendedHeaders();
|
||||
PrintExeFSHeaders();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -595,8 +603,8 @@ namespace BurnOutSharp.Wrappers
|
||||
|
||||
Console.WriteLine($" AccessDec signature (RSA-2048-SHA256): {BitConverter.ToString(extendedHeader.AccessDescSignature).Replace('-', ' ')}");
|
||||
Console.WriteLine($" NCCH HDR RSA-2048 public key: {BitConverter.ToString(extendedHeader.NCCHHDRPublicKey).Replace('-', ' ')}");
|
||||
|
||||
|
||||
|
||||
|
||||
Console.WriteLine($" Access control info (for limitations of first ACI):");
|
||||
Console.WriteLine($" ARM11 local system capabilities:");
|
||||
Console.WriteLine($" Program ID: {extendedHeader.ACIForLimitations.ARM11LocalSystemCapabilities.ProgramID}");
|
||||
@@ -632,6 +640,54 @@ namespace BurnOutSharp.Wrappers
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Print ExeFS header header information
|
||||
/// </summary>
|
||||
private void PrintExeFSHeaders()
|
||||
{
|
||||
Console.WriteLine(" ExeFS Header Information:");
|
||||
Console.WriteLine(" -------------------------");
|
||||
if (ExeFSHeaders == null || ExeFSHeaders.Length == 0)
|
||||
{
|
||||
Console.WriteLine(" No ExeFS headers");
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < ExeFSHeaders.Length; i++)
|
||||
{
|
||||
var exeFSHeader = ExeFSHeaders[i];
|
||||
Console.WriteLine($" ExeFS Header {i}");
|
||||
if (exeFSHeader == null)
|
||||
{
|
||||
Console.WriteLine($" Unrecognized partition data, no data can be parsed");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($" File headers:");
|
||||
for (int j = 0; j < exeFSHeader.FileHeaders.Length; j++)
|
||||
{
|
||||
var fileHeader = exeFSHeader.FileHeaders[j];
|
||||
Console.WriteLine(value: $" File Header {j}");
|
||||
Console.WriteLine(value: $" File name: {fileHeader.FileName}");
|
||||
Console.WriteLine(value: $" File offset: {fileHeader.FileOffset}");
|
||||
Console.WriteLine(value: $" File size: {fileHeader.FileSize}");
|
||||
}
|
||||
|
||||
Console.WriteLine(value: $" Reserved: {BitConverter.ToString(exeFSHeader.Reserved).Replace('-', ' ')}");
|
||||
|
||||
Console.WriteLine($" File hashes:");
|
||||
for (int j = 0; j < exeFSHeader.FileHashes.Length; j++)
|
||||
{
|
||||
var fileHash = exeFSHeader.FileHashes[j];
|
||||
Console.WriteLine(value: $" File Hash {j}");
|
||||
Console.WriteLine(value: $" SHA-256: {BitConverter.ToString(fileHash).Replace('-', ' ')}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user