Отладка файла ELF

У меня есть этот файл EFL, который мне нужно отладить/пошагово. Это конкурс реверсивной инженерии. Все, что мне нужно сделать, это выяснить значение регистра в определенный момент времени и в определенном месте. Я использовал Хоппер-разборщик, чтобы узнать интересующий меня адрес.

Вот в чем проблема. Я не знаю, как отладить файл ELF. Это моя первая отладка в среде Linux. Изучение того, как выполнить сам файл ELF заняло некоторое время. Я выполняю с помощью
ld-linux.so.2 ./[EFLFILE] [arguments]

Есть ли способ подключить отладчик к проессу? Я даже не могу найти его с помощью команды ps. Кроме того, я слышал, что можно иметь удаленный отладчик; иметь отладчик, работающий на машине windows, и иметь двоичный файл, который должен быть проверен, работающий на linux.

Может ли кто-нибудь помочь мне достичь всего этого?

1 ответ

  1. Обычно файл ELF может быть выполнен следующим образом:

    $ /path/to/elffile [arguments]
    

    Для отладки с помощью GDB можно:

    $ gdb /path/to/elffile
    

    Или передача аргументов:

    $ gdb --args /path/to/elffile arguments...
    

    В вашем случае:

    $ gdb --args ./[EFLFILE] [arguments]
    

    Затем введите runили simly rи нажмите.
    Введите helpдля получения справки по командам gdb.

    Примечание: если программа нуждается во внешних либах, перед ее запуском необходимо определить LD_LIBRARY_PATH, указывающий на папку, содержащую эти либы (export LD_LIBRARY_PATH=/the/path/to/libs)