Jul 9, 2013 at 3:11 AM
Edited Jul 9, 2013 at 3:22 AM
I wrote an application include vld.h by VS2012, and I found the IO redirection does not work in win7 32-bit or 64-bit OS (XP won't have this problem). (ex. "test.exe > test.log", test.log is empty if test.exe is debug build, with vld)
So I searched code by IsWin7OrBetter(), and found if I mark
m_patchTable.exportModuleName = "kernelbase.dll";
assert(m_patchTable.patchTable == m_kernelbasePatch);
//m_patchTable.exportModuleName = "kernelbase.dll";
m_original_GetProcAddress = (_GetProcAddressType *) GetProcAddress(kernelBase,"GetProcAddress");
The IO redirection works again.
Is there any difference between patching kernelbase.dll and kernel32.dll?
And does that mean GetProcAddress will be patched by using kernel32.dll, or GetProcAddress won't be patched?