Пример #1
0
 public ElfSymbol(string name, ElfSymbolBind bind, ElfSymbolType type, long value, long size)
 {
     Name  = name;
     Bind  = bind;
     Type  = type;
     Value = value;
     Size  = size;
 }
Пример #2
0
 public ElfSymbol GetSymbol(int index)
 {
     if (_is64Bit)
     {
         ElfSymbol64   s    = _reader.Read <ElfSymbol64>(_address + index * _symSize);
         string        name = _stringTable.GetStringAtIndex((int)s.Name);
         ElfSymbolBind b    = (ElfSymbolBind)(s.Info >> 4);
         ElfSymbolType t    = (ElfSymbolType)(s.Info & 0xF);
         return(new ElfSymbol(name, b, t, s.Value, (long)s.Size));
     }
     else
     {
         ElfSymbol32   s    = _reader.Read <ElfSymbol32>(_address + index * _symSize);
         string        name = _stringTable.GetStringAtIndex((int)s.Name);
         ElfSymbolBind b    = (ElfSymbolBind)(s.Info >> 4);
         ElfSymbolType t    = (ElfSymbolType)(s.Info & 0xF);
         return(new ElfSymbol(name, b, t, (long)s.Value, s.Size));
     }
 }