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