KernelEx v4.5 Beta 1 added a stub for HeapSetInformation, so you can leave that function substitution blank.
As for msvcrt.dll, try subbing 71 instead of 90:
I searched my HDD for "msvc*.dll" and came up with 36 hits (including dups). Refining the search to files containing text: "__uncaught_exception" reduced that count to 18 and these seven unique files:
r = C Run-time (CRT)
m = managed (.Net)
p = C++ Run-time??? (Bonus points to first responder)
All seven of these missing functions appear to have been introduced in MSVC++ 7.0:
These 8 "functions" (variables probably) can be found in msvc 4 through 7.1, but were removed by 9:
I don't have "8" on my system...maybe someone else can check it for these exports.
Well, my first attempt was thwarted because the name "MSVCR90.dll" was longer than the original "msvcrt.dll". So I copied "MSVCR90.dll" locally as "MSVCR9.dll" and did the module substitution using that name.
Good move--I forgot to count when I suggested it. Because table entries are word-aligned, there should actually be an extra byte available to even-lengthed strings (NULL terminator makes them odd). An additional byte or two can (usually) be stolen from the word-sized hint of the following hint-string pair. (At least one linker out there has a bug that does overlap entries half the time, making optimizing hints impossible without completely bulding the table!)
Since "msvcrt.dll" is even, look for the next beta to support subbing up to: ((length&-2)+1)
p.s. I hope everyone is having as much fun as I am.
This post has been edited by jumper: 09 January 2012 - 05:17 PM