

Hooked functions can check input arguments and modify the original function behavior. The window manager handles character conversion for you ( SendMessageA vs SendMessageW) so you don. Some applications dynamically handle the WMTEXT messages. GetWindowTextW is always able to retrieve this text.

Most top-level windows store their text here.

There are at least three functions that can be used to attach as a debugger to a running process:Īs only one debugger can be attached to a process at a time, a failure to attach to the process might indicate the presence of another debugger. The following techniques let the running process manage a user interface or engage with its parent process to discover inconsistencies that are inherent for a debugged process.
