Image.ReadUInt32 C# (CSharp) Method

ReadUInt32() static private method

static private ReadUInt32 ( this stream ) : uint
stream this
return uint
    static uint ReadUInt32(this Stream stream)
    {
        return (uint)(stream.ReadByte()
                      | (stream.ReadByte() << 8)
                      | (stream.ReadByte() << 16)
                      | (stream.ReadByte() << 24));
    }

Usage Example

        private (bool, long, long) SearchAltARM7(long loc, long globalOffset)
        {
            var locfix = loc - 1;
            var bytes  = new byte[] { 0x0, 0x22 }; // MOVS R2, #0

            Image.Position  = Image.MapVATR(locfix);
            Image.Position += 4;
            var buff = Image.ReadBytes(2);

            if (bytes.SequenceEqual(buff))
            {
                bytes           = new byte[] { 0x78, 0x44, 0x79, 0x44 }; // ADD R0, PC and ADD R1, PC
                Image.Position += 12;
                buff            = Image.ReadBytes(4);
                if (bytes.SequenceEqual(buff))
                {
                    Image.Position = Image.MapVATR(locfix) + 10;
                    bytes          = Image.ReadBytes(8);
                    var subaddr  = (long)(decodeMovImm32(bytes) + (uint)locfix + 24u - 1u);
                    var rsubaddr = Image.MapVATR(subaddr);
                    Image.Position = rsubaddr;
                    var ptr = decodeMovImm32(Image.ReadBytes(8)) + subaddr + 16u;
                    Image.Position = Image.MapVATR(ptr);
                    var metadataRegistration = Image.ReadUInt32();
                    Image.Position = rsubaddr + 8;
                    buff           = Image.ReadBytes(4);
                    Image.Position = rsubaddr + 14;
                    buff           = buff.Concat(Image.ReadBytes(4)).ToArray();
                    var codeRegistration = decodeMovImm32(buff) + subaddr + 26u;
                    return(true, codeRegistration, metadataRegistration);
                }
            }

            return(false, 0, 0);
        }
All Usage Examples Of Image::ReadUInt32