Как извлечь прототип функции из файла ELF?

Я довольно много искал, но не нашел способа извлечь прототип функции, по крайней мере, типы аргументов и тип возвращаемого значения из исполняемого файла ELF. Используя GNU BinUtils или любой другой метод.

Я пробовал использовать разные параметры в readelf, nm и objdump, они перечисляют символы и имена функций, но как узнать типы аргументов функции и тип возвращаемого значения?

У меня внутреннее чувство, что должен быть способ сделать это, может ли кто-нибудь пролить свет на это?

Хост: Windows 7

Цель: elf для архитектуры PowerPC


person Nithi89    schedule 22.03.2013    source источник


Ответы (1)


Предполагая, что ваш двоичный файл был построен с информацией об отладке, вы можете получить тип функции, типы аргументов и т. Д., Прочитав формат отладки DWARF, который readelf -wi будет сбрасывать.

Если ваш двоичный файл был создан компилятором IBM, он может содержать (более старую) отладочную информацию STABS, которую вы можете сбросить с помощью objdump -g.

Если ваш двоичный файл не содержит отладочную информацию, вы не можете получить информацию, которую ищете - ее просто нет.

person Employed Russian    schedule 22.03.2013