ReadData() public method

public ReadData ( byte data, int offset ) : void
data byte
offset int
return void
Example #1
0
        private void ReadCLIHeader()
        {
            int addr_cli = RVAManager.GetAddress(this.pe4.CLIHeader);

            if (addr_cli == 0)
            {
                return;
            }
            cli = new CLIHeader();
            this.cli.ReadData(this.data, this.rva.ConvertToPhysical(addr_cli));
            int offset = this.rva.ConvertToPhysical(RVAManager.GetAddress(this.cli.MetaData));

            this.mdroot = new MetadataRoot();
            this.mdroot.ReadData(this.data, offset);
            offset += this.mdroot.Length + 18;
            int nStreams = Util.GetInt16(this.data, offset);

            offset   += 2;
            this.idxm = new IndexManager(this.data, this.rva);
            for (int i = 0; i < nStreams; i++)
            {
                StreamHeader sh = new StreamHeader();
                sh.mdroot = mdroot;
                sh.ReadData(this.data, offset);
                offset += sh.GetStreamSize();
                this.SetStreamHeader(sh);
            }
            this.ReadTilde();
        }
Example #2
0
 private void ReadCLIHeader()
 {
     int addr_cli = RVAManager.GetAddress(this.pe4.CLIHeader);
     if (addr_cli == 0) return;
     cli = new CLIHeader();
     this.cli.ReadData(this.data, this.rva.ConvertToPhysical(addr_cli));
     int offset = this.rva.ConvertToPhysical(RVAManager.GetAddress(this.cli.MetaData));
     this.mdroot = new MetadataRoot();
     this.mdroot.ReadData(this.data, offset);
     offset += this.mdroot.Length + 18;
     int nStreams = Util.GetInt16(this.data, offset);
     offset += 2;
     this.idxm = new IndexManager(this.data, this.rva);
     for (int i = 0; i < nStreams; i++)
     {
         StreamHeader sh = new StreamHeader();
         sh.mdroot = mdroot;
         sh.ReadData(this.data, offset);
         offset += sh.GetStreamSize();
         this.SetStreamHeader(sh);
     }
     this.ReadTilde();
 }