Exemple #1
0
 public ElfSymbol(string name, ElfSymbolBind bind, ElfSymbolType type, long value, long size)
 {
     Name  = name;
     Bind  = bind;
     Type  = type;
     Value = value;
     Size  = size;
 }
Exemple #2
0
        protected ElfSymbol Given_symbol(int index, string name, ElfSymbolType type, uint iSection, uint uAddr)
        {
            var sym = new ElfSymbol(name)
            {
                Value        = uAddr,
                Type         = type,
                SectionIndex = iSection,
            };

            symbols.Add(index, sym);
            return(sym);
        }
Exemple #3
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));
     }
 }
Exemple #4
0
 public static byte ELF32_ST_INFO(int b, ElfSymbolType t)
 {
     return((byte)(((b) << 4) + ((byte)t & 0xF)));
 }
Exemple #5
0
 public static byte ELF32_ST_INFO(int b, ElfSymbolType t) { return (byte)(((b) << 4) + ((byte)t & 0xF)); }