public CustomBinaryReader(System.IO.Stream stream, Common.Endianness visualizerEndianness, Common.Endianness targetEndianness) : base(stream, Encoding.ASCII) { VisualizerEndianness = visualizerEndianness; TargetEndianness = targetEndianness; }
public void Deserialize(BinaryReader binaryReader, TargetSystemInfo targetSystemInfo) { // Custom read so endianness can be determined byte[] buffer = new byte[2]; binaryReader.Read(buffer, 0, 2); UInt16 pointerSize = BitConverter.ToUInt16(buffer, 0); if (pointerSize != 4 && pointerSize != 8) { Endianness = Common.Endianness.BigEndian; Common.EndianSwap(ref pointerSize); } switch (pointerSize) { case 4: Architecture = Common.Architecture._32Bit; break; case 8: Architecture = Common.Architecture._64Bit; break; } }