2010-08-07 3 views
1

Как говорится в вопросе, у меня есть адрес функции и вы хотите проанализировать свой двоичный файл, чтобы найти его имя функции. Есть ли инструмент для этого? У меня есть как двоичные, так и символы.Получить имя функции от адреса функции

+0

Какой компилятор вы использовали? –

+0

Что это значит? Вы имеете в виду, что у вас есть как собранный двоичный файл объекта, так и таблица символов и хотите узнать имя функции из своего виртуального адреса в таблице символов? Я уверен, что это невозможно. Хотя, я думаю, это будет зависеть от используемого вами компилятора и от того, хочет ли он сохранить эти данные. –

ответ

1

В Windows в собственном коде вы можете использовать SymFromAddr в библиотеке dbghelp, чтобы узнать название символа. Это требует, чтобы у вас были отладочные символы для двоичного кода. Если у вас нет какой-либо символьной информации, вы не сможете узнать имя функции непосредственно из самого двоичного файла.

Также возможно, чтобы один адрес соответствовал нескольким функциям - если несколько функций скомпилированы в один и тот же машинный код, компоновщик может объединить их вместе в один кусок кода в двоичном формате.

Смежные вопросы