Unhandled exception at 0x034837e7
(Win32BinaryFile.dll) in boomerang-gui-debug.exe:
0xC0000005: Access violation reading location
0x628dfcbd.
when decompiling boomerang.exe
Debugger points to:
Win32BinFile.cpp
...
// mingw pattern
p = LMMH(m_pPEHeader->EntrypointRVA);
bool in_mingw_CRTStartup = false;
unsigned int lastcall = 0, lastlastcall = 0;
while(1) {
op1 = *(unsigned char*)(p + base);
if (op1 == 0xE8) {
// CALL opcode
unsigned int dest = p + 5 +
LMMH(*(p + base + 1));
if (in_mingw_CRTStartup) {
/* Error Here --->>> */ op2 = *
(unsigned char*)(dest + base);
unsigned char op2a = *
(unsigned char*)(dest + base + 1);
unsigned int desti =
LMMH(*(dest + base + 2));
// skip all the call
statements until we hit a call to an indirect call to
ExitProcess
// main is the 2nd
call before this one
if (op2 == 0xff &&
op2a == 0x25 && dlprocptrs.find(desti) !=
dlprocptrs.end() && dlprocptrs[desti]
== "ExitProcess") {
mingw_main = true;
return
lastlastcall + 5 + LMMH(*(lastlastcall + base + 1)) +
LMMH(m_pPEHeader->Imagebase);
}
lastlastcall =
lastcall;
lastcall = p;
} else {
p = dest;
in_mingw_CRTStartup =
true;
continue;
}
}
...
Logged In: YES
user_id=1136541
Boomerang can't decompile itself yet. Only very small
programs are decompiled correctly.
- Gerard