Exemplo n.º 1
0
        public override void Read(AssemblyBuffer buffer)
        {
            this.RVA = buffer.ReadDWord();
            this.ImplementationFlags = buffer.ReadWord();
            this.DefinitionFlags     = buffer.ReadWord();
            this.NameAddress         = this.ReadStringTableOffset(buffer);
            this.Signature           = this.ReadBlobTableOffset(buffer);
            this.ParamsListIndex     = buffer.ReadWord();

            this.Name = this.ReadStringAtOffset(this.NameAddress);

            uint oldBufferPos = buffer.GetBufferPosition();

            buffer.SetIndexPointer(this.RVA);

            // Do the reading of the function
            this.ReadFunctionBody(buffer);

            buffer.SetIndexPointer(oldBufferPos);
        }