Как дизассемблировать основную функцию урезанного приложения?

Допустим, я скомпилировал приведенное ниже приложение и удалил его символы.

#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 . Предположим, что у меня нет доступа к коду.

Будем признательны за пошаговый пример.

32
задан Frambot 12 July 2013 в 14:12
поделиться