Fix MS-CAB info

This commit is contained in:
Matt Nadareski
2022-12-15 12:20:06 -08:00
parent 4cc441afcf
commit 715b9eb156
2 changed files with 18 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
using System.IO;
using System.Collections.Generic;
using System.IO;
using System.Text;
using BurnOutSharp.Models.MicrosoftCabinet;
using BurnOutSharp.Utilities;
@@ -234,6 +235,8 @@ namespace BurnOutSharp.Builder
if (folder.CabStartOffset > 0)
{
int blockPtr = initialOffset + (int)folder.CabStartOffset;
folder.DataBlocks = new Dictionary<int, CFDATA>();
for (int i = 0; i < folder.DataCount; i++)
{
int dataStart = blockPtr;
@@ -481,6 +484,7 @@ namespace BurnOutSharp.Builder
long currentPosition = data.Position;
data.Seek(folder.CabStartOffset, SeekOrigin.Begin);
folder.DataBlocks = new Dictionary<int, CFDATA>();
for (int i = 0; i < folder.DataCount; i++)
{
CFDATA dataBlock = ParseDataBlock(data, header.DataReservedSize);

View File

@@ -297,7 +297,10 @@ namespace BurnOutSharp.Wrappers
Console.WriteLine($" Header reserved size: {HeaderReservedSize}");
Console.WriteLine($" Folder reserved size: {FolderReservedSize}");
Console.WriteLine($" Data reserved size: {DataReservedSize}");
Console.WriteLine($" Reserved data = {BitConverter.ToString(ReservedData).Replace("-", " ")}");
if (ReservedData == null)
Console.WriteLine($" Reserved data = [NULL]");
else
Console.WriteLine($" Reserved data = {BitConverter.ToString(ReservedData).Replace("-", " ")}");
}
if (Flags.HasFlag(Models.MicrosoftCabinet.HeaderFlags.PREV_CABINET))
@@ -335,8 +338,12 @@ namespace BurnOutSharp.Wrappers
Console.WriteLine($" Cab start offset = {entry.CabStartOffset}");
Console.WriteLine($" Data count = {entry.DataCount}");
Console.WriteLine($" Compression type = {entry.CompressionType}");
Console.WriteLine($" Reserved data = {BitConverter.ToString(entry.ReservedData).Replace("-", " ")}");
if (entry.ReservedData == null)
Console.WriteLine($" Reserved data = [NULL]");
else
Console.WriteLine($" Reserved data = {BitConverter.ToString(entry.ReservedData).Replace("-", " ")}");
Console.WriteLine();
Console.WriteLine(" Data Blocks");
Console.WriteLine(" -------------------------");
if (entry.DataBlocks == null || entry.DataBlocks.Count == 0)
@@ -351,7 +358,10 @@ namespace BurnOutSharp.Wrappers
Console.WriteLine($" Checksum = {block.Value.Checksum}");
Console.WriteLine($" Compressed size = {block.Value.CompressedSize}");
Console.WriteLine($" Uncompressed size = {block.Value.UncompressedSize}");
Console.WriteLine($" Reserved data = {BitConverter.ToString(block.Value.ReservedData).Replace("-", " ")}");
if (block.Value.ReservedData == null)
Console.WriteLine($" Reserved data = [NULL]");
else
Console.WriteLine($" Reserved data = {BitConverter.ToString(block.Value.ReservedData).Replace("-", " ")}");
//Console.WriteLine($" Compressed data = {BitConverter.ToString(block.Value.CompressedData).Replace("-", " ")}");
}
}