爲了從linux內核模塊中找到.eh_frame和.eh_frame_hdr部分的地址,我需要訪問內核進程的程序頭部表(或者部分頭部)。在用戶空間中,我會使用dl_iterate_phdr(),但我需要一個內核空間解決方案。如果可能的話,它不需要通過elf文件。如何從內核模塊中找到動態鏈接/加載庫的PHDR?
輔助矢量具有AT_PHDR字段,但它無助於找到動態鏈接/加載的庫的PHDR。
我的另一個想法是對vm_areas進行迭代,以找到任務內存中每個具有可執行mmap的文件的PHDR地址。這個解決方案的問題是,加載後可以更改或刪除elf文件。
有沒有辦法做到這一點只依賴內存,而不是在精靈文件?