public CustomBinaryReader(System.IO.Stream stream,
     Common.Endianness visualizerEndianness, Common.Endianness targetEndianness)
     : base(stream, Encoding.ASCII)
 {
     VisualizerEndianness = visualizerEndianness;
     TargetEndianness = targetEndianness;
 }
Beispiel #2
0
        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;
            }
        }