Скажем, я скомпилировал приложение ниже и разделил его на символы.
#include <stdio.h>
int main()
{
printf("Hello\n");
}
Процедура сборки:
gcc -o hello hello.c
strip --strip-unneeded hello
Если приложение не было удалено, разбор основной функции был бы простым. Однако я не знаю, как разобрать основную функцию разделенного приложения.
(gdb) disas main
No symbol table is loaded. Use the "file" command.
(gdb) info line main
Function "main" not defined.
Как я мог это сделать? Возможно ли это?
Примечания: это должно выполняться только с помощью GDB. Забудьте objdump. Предположим, что у меня нет доступа к коду.
Поэтапный пример будет очень полезен.