C# Class Reko.ImageLoaders.Elf.Relocators.x86_64Relocator

Inheritance: ElfRelocator64
Afficher le fichier Open project: uxmal/reko

Méthodes publiques

Méthode Description
Relocate ( Program program ) : void According to the ELF x86_64 documentation, the .rela.plt and .plt tables should contain the same number of entries, even if the individual entry sizes are distinct. The entries in .real.plt refer to symbols while the entries in .plt are (writeable) pointers. Any caller that jumps to one of pointers in the .plt table is a "trampoline", and should be replaced in the decompiled code with just a call to the symbol obtained from the .real.plt section.
RelocateEntry ( Program program, ElfSymbol sym, ElfSection referringSection, Elf64_Rela rela ) : void
RelocationTypeToString ( uint type ) : string
x86_64Relocator ( ElfLoader64 loader ) : Reko.Core

Private Methods

Méthode Description
LoadImportReferencesFromRelaPlt ( ) : void

Method Details

Relocate() public méthode

According to the ELF x86_64 documentation, the .rela.plt and .plt tables should contain the same number of entries, even if the individual entry sizes are distinct. The entries in .real.plt refer to symbols while the entries in .plt are (writeable) pointers. Any caller that jumps to one of pointers in the .plt table is a "trampoline", and should be replaced in the decompiled code with just a call to the symbol obtained from the .real.plt section.
public Relocate ( Program program ) : void
program Program
Résultat void

RelocateEntry() public méthode

public RelocateEntry ( Program program, ElfSymbol sym, ElfSection referringSection, Elf64_Rela rela ) : void
program Program
sym ElfSymbol
referringSection ElfSection
rela Elf64_Rela
Résultat void

RelocationTypeToString() public méthode

public RelocationTypeToString ( uint type ) : string
type uint
Résultat string

x86_64Relocator() public méthode

public x86_64Relocator ( ElfLoader64 loader ) : Reko.Core
loader ElfLoader64
Résultat Reko.Core