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 the output for main:
So the problem seems to be that Boomerang is confused by the ___chkstk function, which doesn't return normally.
Some kind soul needs to write a pattern to detect this evil function, and prevent Boomerang from trying to decompile it. Only pain lies in attempts to decompile ___chkstk. Unfortunately, I can't do it; I don't have the time and my agreement with my current employer won't allow it.
In the meantime, if you compile with Cygwin or MinGW, Boomerang might have better luck decompiling the binary. I suspect that the compiler you are using is just too new for Boomerang; it's not used to seeing calls to ___chkstk.
- Mike
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hello.c
Logged In: YES
user_id=46298
Originator: NO
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 the output for main:
// address: 0x4012e0
void proc10() {
__size32 ebp; // r29
int esp; // r28
proc13(pc, 16, ebp, 16, esp - 4, SALFLAGS32(16, 1, 4), SALFLAGS32(16, 1, 4), SALFLAGS32(16, 1, 4));
}
proc13 is ___chkstk.
So the problem seems to be that Boomerang is confused by the ___chkstk function, which doesn't return normally.
Some kind soul needs to write a pattern to detect this evil function, and prevent Boomerang from trying to decompile it. Only pain lies in attempts to decompile ___chkstk. Unfortunately, I can't do it; I don't have the time and my agreement with my current employer won't allow it.
In the meantime, if you compile with Cygwin or MinGW, Boomerang might have better luck decompiling the binary. I suspect that the compiler you are using is just too new for Boomerang; it's not used to seeing calls to ___chkstk.
- Mike
Sourceforge.. Bully :)
Sourceforge.. Very nice :)