Rich Gilson wrote:
I appreciate the tip about falling back on the relay debug channel, but may I ask how you know the problem is with BlockInput not existing? Is there something from the output that I'm not understanding, or do you just know that because you're familiar with the kernel32.dll code?
I'll give it a shot (I'm a chronic newbie so this might be wrong).
0009:Call kernel32.GetProcAddress(20290000,0052b895 "BlockInput")
There's the call asking for an address for BlockInput.
0009:Ret kernel32.GetProcAddress() retval=00000000 ret=0052cc6a 0009:Call kernel32.ExitProcess(0052cb10) ret=0052cc7b
There the application exits, right after GetProcAddress returns 00000000.
Look up GetProcAddress in MSDN: http://www.google.com/search?q=GetProcAddress&btnI
It says: "If the function fails, the return value is NULL." Which seems to be what we're seeing.
It also says: "To get extended error information, call GetLastError." Luckily, the source code is LGPL and we know that there are bits and pieces missing of it, so an easier way than calling GetLastError is to just grep the sources for kernel32 and see if BlockInput might be missing (probably not a bad guess)...
HTH, hope I'm not way off.