Star on GitHubStar1.1k stars

Tool

Boomerang Decompiler

Fork of the SourceForge Boomerang project, a general machine-code decompiler that translates executables into C. The README lists x86 (IA-32 only), PowerPC and ST20 code in ELF, PE, DOS MZ, DOS/4GW LE and Mach-O files; instruction semantics are defined in SSL specification files, and library signature files plus printf- and scanf-style format strings help recover types. It provides a boomerang-cli command-line tool and a Qt boomerang-gui application, with unit, regression and recompilation test suites.

Targets
Binary
Category
Native analysis tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • Inactive legacy project: the reviewed develop commit of 2020-12-28 is the repository's last push, and the Changelog still marks v0.6.0 as in development. The last release, v0.5.2 (2020-01-11), provides Linux x86_64 and Windows x64 builds, while the README recommends building develop from source.
  • Building needs a 64-bit OS, a C++17 compiler (GCC 7+, Clang 6+ or MSVC 2017+), CMake 3.13+, Qt5 (5.12+ known to work), Capstone 4.0.1+, GNU bison 3.3+ and flex 2.6+; Python 3 runs the regression tests, which are not supported on Windows. The README documents Linux, macOS 10.13+ with Xcode 10 and Homebrew, and Windows with Visual Studio 2017.
  • Supply the executable to decompile. x86 support covers 32-bit code only, the v0.6.0 development line removed SPARC support, and the generated C needs analyst review.
  • data/samples commits about 240 small test binaries for macOS, DOS, ELF, PowerPC, Windows and x86, most named after the test programs in tests/recompilation-tests and tests/sources, plus three Linux distribution builds of the true utility; tests/regression-tests stores the expected decompiler output for them. data/signatures holds hand-written library prototype files, not vendor headers.
  • BSD-style terms in LICENSE.TERMS, carried over from the University of Queensland, Sun Microsystems and the original authors; GitHub reports no SPDX match.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. Readme.md GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  2. Changelog.md GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  3. LICENSE.TERMS GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  4. data/samples GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  5. data/signatures GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  6. data/ssl GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  7. tests GitHub · BoomerangDecompiler/boomerang · Revision 4110413
  8. https://github.com/BoomerangDecompiler/boomerang/releases/tag/v0.5.2

More in Native binaries

All 269 entries in Native binaries

↑↓ move↵ open⌘↵ new tab