У меня есть исполняемый файл Linux, который, кажется, был написан на C++ с использованием компилятора GNU и в режиме отладки. Я хотел бы знать, правильно ли я заключен и каковы мои шансы декомпилировать его во что-то, по крайней мере, в некоторой степени читабельном. Вот несколько заперта фрагменты из исполняемого файла:Идентификация исполняемого файла
Snippet 1
</heap>
<malloc version="1">
nclears >= 3 Arena %d:
system bytes = %10u
in use bytes = %10u
Total (incl. mmap):
max mmap regions = %10u
Отрывок 2
__gnu_cxx::__concurrence_lock_error
Отрывок 3
ELF file ABI version invalid ◻ invalid ELF header ◻ ELF file OS ABI invalid
Отрывок 4
GCC: (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 ◻
GCC: (Ubuntu/Linaro 4.4.4-14ubuntu1) 4.4.5 20100909 (prerelease)
Отрывок 5
_dl_debug_vdprintf pid >= 0 && sizeof (pid_t) <= 4
...
_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT
Файл полон читаемого текста, как это (но большинство из них по-прежнему тарабарщина). Я не думаю, что вы должны найти такой текст в исполняемом файле, скомпилированном в режиме выпуска (тогда опять мои знания по этому вопросу очень ограничены). Какой декомпилятор следует использовать в этом исполняемом файле?
Эти строки - это просто строковые литералы в программе (за исключением, возможно, последнего). Вы сможете прочитать строки, используемые программой в режимах выпуска или отладки. Кроме того, вместо того, чтобы пытаться определить, можете ли вы декомпилировать его, почему бы просто не попробовать его декомпилировать? –
@Seth Я сомневаюсь. Я знаю, что делает программа, и она не имеет ничего общего с этими строками; его интерфейс даже не на английском языке. –
Это будут строки, на которые ссылаются библиотеки, а не пользователь библиотек, поэтому не имеет значения, на каком языке написана программа. Являются ли библиотеки только этими строками в режиме отладки или выпуском и отладкой, Знаю. –