From Ilia Reznik:
SpyGuru program consists of four main parts:
System Monitor. Using this component of SpyGuru you can monitor the behavior of dozens of counters, including ones you define. With this component you can recover and defragment your computers free RAM - either manually or as a scheduled task.
Processes/Modules/Windows. This component gives you a list of modules (DLLs) used by selected processes and a list of windows created by them. It provides clear views of their properties, environment, allows terminating processes and releasing DLLs. You can easy find any window and capture it with the finder tool. Capture of most 'true' menus is also available. You can inject your function into a selected process in several ways.
Messages. This component lets you view messages processed by a selected window. You can view a wide range of messages and send them to the desired window.
Files. This component contains a powerful Hex-editor, a simple resources viewer, it allows retrieval of information about file properties, changes in file system, import/export tables, and dependencies. You can compare .ini-files, process's or registry snapshots, binary files, make search/replace insertions, deleting inside them. The Hex-editor has a remarkable feature: it allows "structural" viewing of binary files. And you can define structures yourself.