-
Yes, unfortunately, Boomerang is quite unprepared for 64-bits, either compiling on a 64-bit platforn, or representing 64-bit registers and expressions.
The particular error you mentioned sounds benign, so you may be able to convince the compiler to accept it. However, there are likely more serious issues, based on the assumption of a 32-bit word size throughout the code.
When Boomerang was...
2009-09-06 23:00:09 UTC in Boomerang decompiler
-
Well, you could code up another calling convention; Boomerang handles just a few at present. It might look a bit like the SPARC convention, except with 3 words in registers instead of 6.
But the problem is knowing when it's in use. A single program could have say 3 different calling conventions all mixed together. Automatically sensing when the calling convention changes would be impossible...
2009-04-18 00:44:11 UTC in Boomerang decompiler
-
If by assembly language you mean assembly source code, there isn't a parser/front end for assembly language yet. So you need to assemble it to an executable for that, preferably with debug symbols.
You can visualise the IR and CFG by generating dotty graphs. See the command line options for details, or use the GUI. I don't know what you want to do with the IR, so I don't know if this is...
2009-04-15 02:45:37 UTC in Boomerang decompiler
-
emmerik committed revision 2336 to the Boomerang decompiler SVN repository, changing 1 files.
2009-03-17 13:41:03 UTC in Boomerang decompiler
-
No. COM files contain 80286 code. Although this is basically a subset of pentium code, Boomerang expects the code to be in flat 32-bit mode, and .COM files are not.
Sorry.
- Mike.
2009-02-10 22:44:59 UTC in Boomerang decompiler
-
I would implement it as a call to a special function (e.g. __syscall) that takes one parameter (put a prototype for it in a special header file). You might want to create a pseudo-register that takes the interrupt number. So for example int 7 might translate to "r_intnum=7; syscall(intnum);" and insert a pass that links up intnum and __intnum. You may be able to emit syscall(7...
2009-01-28 10:35:19 UTC in Boomerang decompiler
-
It needs to be a PE (32 bit) format executable. You might have generated an ME (16 bit) or even a .com file (no header at all), but with the .exe extension.
If you dump the first 256 bytes of the file, it should look something like this:
000000 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 >MZ..............<
000010 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00...
2009-01-22 23:27:32 UTC in Boomerang decompiler
-
The Linux version of Boomerang doesn't crash for me. You may be running am out of date binary; we don't have a recent version of Boomerang compiled for download. You need to use svn to get the latest source, and compile it. I wish it was easier to compile, too. I guess we need to make that clearer on the web page.
However, the latest Linux version doesn't emit sensible output, either. Here is...
2008-04-19 13:28:07 UTC in Boomerang decompiler
-
Graeme Brett Houston asks:
"Hi Mike,
Just a request for a VXD (LE/LX) loader to be added to
boomerang."
I'd add to this that the DOS4GWBinaryFile loader is
already called when an LE executable is detected. I
don't know how similar the two formats are; I would
imagine that the DOS4GW loader could probably be
adapted to load VxDs without too much trouble. Perhaps
it needs a rename...
2006-09-30 22:28:15 UTC in Boomerang decompiler
-
After some five years of work on the Boomerang machine code decompiler, the two main developers (QuantumG and Mike Van Emmerik) are withdrawing from further development.
The reason is that they have both joined a company which owns technology that is sufficiently similar to that of Boomerang that there is a conflict of interest.
We both have a great fondness for the Boomerang project, and...
2006-09-18 12:11:06 UTC in Boomerang decompiler