Description
Boomerang
Boomerang is a cool decompiler that takes an executable file and tries to turn it back into a high-level, compilable source file. This means it's kind of the opposite of a compiler, which goes from source files to executable files.
How Does It Work?
So, how does Boomerang do its thing? Instead of reversing every single step like some might think, it transforms the input program over and over until it gets to that high-level source code we talked about. Just keep in mind, you won't end up with the original source file; it's likely going to look quite different.
No Worries About Symbols!
The great part is that it doesn't matter if your executable has symbols or what programming language it was made with—Boomerang has got you covered! Just a heads-up though: declarative languages like ML aren't really on the radar.
Retargetable and Modular
The goal here is to create a retargetable decompiler, which means it can handle different types of machine code files without too much hassle. Think X86-Windows or SPARC-Solaris! Plus, it's designed to be super modular. This way, you can swap out parts easily for testing new modules.
Interactive Features Coming Soon!
They also plan on making Boomerang interactive down the line. Some things—like figuring out variable names and comments—need a little expert help. Whether this will be part of the decompiler itself or a separate tool is still up for discussion.
Smart Techniques at Play
Boomerang uses some smart tech like Static Single Assignment dataflow analysis. This helps keep its functionality pretty independent from whatever compiler was originally used. Even optimization shouldn't mess things up too much!
Limitations You Should Know
A few limitations:
- If you're jumping in just to use Boomerang as is (rather than experimenting), be ready for some limitations. As of early 2004, it mainly works with X86 (Linux/X86 or Windows PE), SPARC (Solaris/Linux/SPARC), and PowerPC (Linux/PPC or Mac OS/X) programs.
- It doesn't deal with DOS or NE (Windows 3.1) programs at all.
- You'll only get C code out of this; C++ isn't generated directly. While you can decompile C++ programs and other types too, getting them into usable C++ might take some manual work.
- If you're dealing with MSVC compiled programs right now, you'll need to guide the decompiler since there's one register parameter involved (thiscall calling convention). The switches for handling this can be pretty complex; check out using the -sf switch for details!
If you're curious about trying out Boomerang yourself, feel free to check out this link.
Tags:
User Reviews for Boomerang FOR LINUX 7
-
Boomerang FOR LINUX is a powerful decompiler generating high-level, maintainable source code. Its modularity and retargetability make it a versatile tool.
-
Boomerang is an incredible tool for decompiling! It's efficient and surprisingly accurate. Highly recommended!
-
This app has transformed my workflow! The modular design makes it easy to use and customize. Love it!
-
Fantastic decompiler! It handles various machine codes with ease, making my reverse engineering tasks simpler.
-
Boomerang is a game changer in the world of software analysis. Fast, reliable, and user-friendly. Five stars!
-
I’m really impressed with Boomerang’s capabilities. It’s powerful and effective for anyone needing a solid decompiler.
-
The interactivity feature is brilliant! It makes the decompiling process more engaging and less tedious. Highly recommend!