Sunday, November 23, 2008

COM hooking research

This post is gonna be a work in progress. What I am trying to embark on is the possibility of inserting hooks to a running COM server to perform automated testing. I have seen applications tried to do this, like TestPartner, but it is crashing my application under test. Summary of available tools that may have a working COM server hooks: TestPartner  - they have ComSpy but this is crashing my application under test. COMslicer - from the help file. COMslicer is a utility that displays information about COM/DCOM components’ activity. It reports all methods and properties called by a client of a COM component and shows values for input/output parameters. COMslicer also reports creation and destroying of COM objects as well as raising events by COM objects. It keeps track of reference counting and interfaces queried by a client. COMslicer works on Windows 98/Me/ NT4/2K. But it seems to me that the development of this tools has halted. A quick visit to their website does not event mention about COMslicer software, rather it shows topics about food stuff. I tried installing the software in Vista and it chokes up, so this one is no good for me as my target applications need to run in Vista and Windows Server 2008

Below are some of the information I have scoured over in the internet that may help in COM spying. DLL injection, Detours and Deviare looks interesting.
Component Object Model (link ) - This wikipedia article discussed the history of COM and some high level details.
GUI Hooking
What are test hooks? link
The use of P/Invoke in Automation (.net link )
How to set a Windows hook in Visual C# .NET (link ) Windows Automation API 3.0 Overview (link ) GUI Automation with pyAA (link )
Advanced
SpyStuio - http://www.nektra.com/products/spystudio
Automating Windows Applications - http://www.codeproject.com/KB/COM/automatingwindowsapps.aspx?fid=13658&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26
Discusses about advanced hooking/spying techniques

No comments: