Autor Thema: ELF: Exportierte Funktionen  (Gelesen 5000 mal)

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« am: 11. May 2006, 17:18 »
Hi
ich habe einen ELF File geladen, keinen von den ausführbaren sondern eine Lib. Wie kann ich jetzt eine Liste der exportierten Funktionen mit deren Name und ihrer Adresse bekommen?
Und was hat es mit diesem p_type Eintrag in ELF32_Phdr auf sich?

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 15. May 2006, 15:39 »
Hallo
Also... ich glaube ich hab das Problem jetzt ansatzweise gelöst! In der .symtab Section steht für jede Funktion usw. ein Symbol in Form einer Struktur. Am Anfang der Struktur steht der Name, allerdings nicht als String sondern nur die Position vom Namensstring, so das man halt in der .strtab Section suchen kann.
Ich kann mir jetzt auf jeden Fall alle exportierten Symbole zusammen mit deren Adresse ausgeben lassen. Fehlt jetzt noch was außer Relocations? Und gibt es eine gute Taktik mit Relocation Sachen umzugehen?

--EDIT--
Neue Frage: Ich hab mir jetzt ne Funktion gebaut, die den Namen einer Funktion bekommt und dann deren Adresse zurückgibt. Die Adresse scheint auch zu stimmen (liegt ein paar Bytes hinter Dateianfang) aber wenn ich die in einen Function Pointer schreibe und dann die Funktion aufrufe, passiert nix mehr. Die Funktion wird gar nicht erst abgearbeitet. Hab ich irgendwo was übersehen?

 

Einloggen