Ich muss auf die Programm-Header-Tabellen (oder alternativ zu den Abschnitts-Headern) eines Prozesses vom Kernel zugreifen, um die Adressen von .eh_frame- und .eh_frame_hdr-Abschnitten von einem Linux-Kernel-Modul zu finden. In Userspace würde ich dl_iterate_phdr() verwenden, aber ich brauche eine Kernel-Space-Lösung. Wenn möglich, müsste es nicht durch die Elf-Dateien gehen.Wie findet man den PHDR von dynamisch verknüpften/geladenen Bibliotheken von einem Kernelmodul?
Der Hilfsvektor hat das AT_PHDR-Feld, aber es hilft nicht, die PHDRs dynamisch verknüpfter/geladener Bibliotheken zu finden.
Meine andere Idee war es, auf den vm_areas zu iterieren, um die PHDR-Adresse von jeder Datei zu finden, die eine ausführbare mmap im Speicher der Aufgabe hat. Das Problem mit dieser Lösung ist, dass die Elf-Datei nach dem Laden geändert oder gelöscht werden kann.
Gibt es eine Möglichkeit, dies zu tun, die nur auf Speicher und nicht auf der Elf-Datei beruht?