2011-12-17 3 views
3

У меня есть исполняемый файл 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 

Файл полон читаемого текста, как это (но большинство из них по-прежнему тарабарщина). Я не думаю, что вы должны найти такой текст в исполняемом файле, скомпилированном в режиме выпуска (тогда опять мои знания по этому вопросу очень ограничены). Какой декомпилятор следует использовать в этом исполняемом файле?

+0

Эти строки - это просто строковые литералы в программе (за исключением, возможно, последнего). Вы сможете прочитать строки, используемые программой в режимах выпуска или отладки. Кроме того, вместо того, чтобы пытаться определить, можете ли вы декомпилировать его, почему бы просто не попробовать его декомпилировать? –

+0

@Seth Я сомневаюсь. Я знаю, что делает программа, и она не имеет ничего общего с этими строками; его интерфейс даже не на английском языке. –

+1

Это будут строки, на которые ссылаются библиотеки, а не пользователь библиотек, поэтому не имеет значения, на каком языке написана программа. Являются ли библиотеки только этими строками в режиме отладки или выпуском и отладкой, Знаю. –

ответ

1

Почему вы не поставили точку останова в главном и не выполнили исполняемый файл ??? если это режим отладки, вы можете увидеть полный исходный код (если исходный файл присутствует в том же пути). вы можете выполнить каждый шаг и увидеть вызовы функций с точными аргументами.

+0

Я бы, если бы знал, как. :) Но спасибо за подсказку, я посмотрю. –

Смежные вопросы