BoomerangDecompiler / boomerang

Boomerang Decompiler - Fighting the code-rot :)
Other
370 stars 59 forks source link

ELF hello world not being decompiled on ubuntu 20.04 #267

Closed dnns92 closed 3 years ago

dnns92 commented 3 years ago

OS: Ubuntu 20.04 LTS

Boomerang version or git hash: version: boomerang-cli v0.5.2-366-g1944b804e

Steps to reproduce:

  1. write hello_world.c and use gcc hello_world.c -> a.out file
  2. $ boomerang-cli a.out

Expected behaviour/output: decompilation

Actual behaviour/output: input error: unknown binary file format (see below)

Additional comments: I tried to load it via the boomerang-gui, but I got the same error. The file is an ELF file format (so it should be supported), see output of "file a.out": (base) nano@nano-laptop:~/repos/cpp$ file a.out a.out: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cd65f2417054c4964ea4e36cf80c5961f9a346f2, for GNU/Linux 3.2.0, not stripped

SCROLLBACK: (base) nano@nano-laptop:/home/nano/repos/cpp$ boomerang-cli a.out (base) nano@nano-laptop:/home/nano/repos/cpp$ boomerang-cli a.out Level | File | Line | Message

Msg | src/boomerang/util/log/Log.cpp | 152 | This is Boomerang v0.5.2-366-g1944b804e Msg | src/boomerang/util/log/Log.cpp | 153 | Log initialized. Msg | src/boomerang/util/log/Log.cpp | 154 | Log level is 'Msg'. Msg | src/boomerang/core/Project.cpp | 348 | Loading plugins... Msg | src/boomerang/ssl/RTLInstDict.cpp | 60 | Loading machine specifications from '/usr/local/share/boomerang/ssl/ppc.ssl'... Msg | src/boomerang/ssl/RTLInstDict.cpp | 60 | Loading machine specifications from '/usr/local/share/boomerang/ssl/x86.ssl'... Msg | src/boomerang/ssl/RTLInstDict.cpp | 60 | Loading machine specifications from '/usr/local/share/boomerang/ssl/st20.ssl'... Msg | src/boomerang/core/Project.cpp | 362 | Loaded plugins: Msg | src/boomerang/core/Project.cpp | 364 | C Code Generator plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 368 | Capstone PPC decoder plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 368 | Capstone x86 decoder plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 368 | ST20 decoder plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | DOS4GW loader plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | ELF32 loader plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | DOS Exe loader plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | Mach-O loader plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | ST20 .bin loader plugin [experimental] v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 372 | Win32 PE loader plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 376 | PPC FrontEnd plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 376 | ST20 FrontEnd plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 376 | X86 FrontEnd plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 380 | C Symbol Provider plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 384 | DFA Type Recovery plugin v0.5.2-366-g1944b804e (by 'Boomerang developers') Msg | src/boomerang/core/Project.cpp | 109 | Loading binary file '/home/nano/repos/cpp/a.out' Warn | src/boomerang/core/Project.cpp | 115 | Cannot load '/home/nano/repos/cpp/a.out': Unrecognized binary file format. Error | src/boomerang-cli/CommandlineDriver.cpp | 513 | Loading '/home/nano/repos/cpp/a.out' failed.

ceeac commented 3 years ago

Boomerang does not yet support decompiling 64 bit executables; see also #49. Decompiling simple 32 bit executables created with gcc -m32 should work.