У меня возникла проблема с одной из моих программ.Мне нужно знать, когда выполняется CALL, с каким символом функции связан адрес вызова.
Я понимаю, что с моей собственной функцией мне нужно проанализировать секцию .symtab моего эльфадвоичный, но символ, связанный с общей библиотекой, не имеет никакого адреса.
Я также проанализировал разделы .dyndsym .rela.dyn .rela.plt и .dynstr.Имея такой большой объем информации, я теперь знаю, какая функция используется в какой библиотеке.
Я понимаю, что адрес функции, указанный в общем объекте, не будет совпадать с адресом функции в двоичном файле.Также все мои программы (написанные на C) скомпилированы с опцией "-fno-stack-protector".
Мой вопрос: есть ли способ вычислить адрес динамического символа перед выполнением двоичного файла?