コード例 #1
0
ファイル: ELFFile.cs プロジェクト: TGEnigma/Amicitia
 private ELFFile()
 {
     _header = new ELFHeader();
     _sections = new List<ELFSection>();
 }
コード例 #2
0
ファイル: ELFFile.cs プロジェクト: TGEnigma/Amicitia
        internal void InternalRead(BinaryReader reader)
        {
            _header = new ELFHeader(reader);
            _sections = new List<ELFSection>(_header.e_shnum);

            if (_header.e_shoff != 0)
            {
                reader.Seek((long)_header.e_shoff, SeekOrigin.Begin);

                _sections[_header.e_shstrndx] = new ELFSection(reader, SizeFormat);

                for (int i = 0; i < _header.e_shnum; i++)
                {
                    _sections.Add(new ELFSection(reader, SizeFormat));
                }

                for (int i = 0; i < _header.e_shnum; i++)
                {
                    _sections[i].GetNameFromStringTable(_sections[_header.e_shstrndx], reader);
                }
            }
        }