识别有关可执行文件的信息

时间:2011-12-17 18:48:00

标签: c++ executable decompiling

我有一个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

Snippet 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)

Snippet 5

_dl_debug_vdprintf    pid >= 0 && sizeof (pid_t) <= 4     
...
_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT

这个文件充满了这样的可读文本(但大多数仍然是胡言乱语)。我不认为你应该在发布模式下编译的可执行文件中找到这种文本(然后再次,我对这个问题的了解非常有限)。我应该尝试在这个可执行文件上使用什么反编译器?

1 个答案:

答案 0 :(得分:1)

为什么不在main中放置断点并运行可执行文件???如果是调试模式,您可以看到完整的源代码(如果源文件存在于同一路径中)。您可以单步执行每一步,并使用精确参数查看函数调用。