Geoff Chappell, Software Analyst

You are at the home page of a website that has grown out of an academic interest in studying what software actually does, which is much too often not exactly what the manufacturer says the software does. Pretty much everything here has been obtained by reverse engineering other people’s computer software, not so that their ideas can be stolen and reworked, but so the actual working of what they sell can be understood and reported.

The software examined here is almost always either Microsoft Windows or one of Microsoft’s programming tools for Windows. Very little of what I write about this software is intended for a general readership. If anything, most is at the other extreme: I take as granted that you have a sound understanding of advanced Windows programming in general and a good knowledge of what Microsoft has already documented of the particular topic. Where something I write conflicts with Microsoft’s documentation, my aim is that you should be able to rely on me to be correct and Microsoft to be mistaken, because Microsoft at best documents what its programmers thought they coded into the software but I document what actually is there.

There are nearly 2,000 pages here. Some are merely placeholders for work that never properly got under way or for introductions that I probably never will get round to writing. Some just track what’s new or was new. Others are statistics about what gets viewed. But the overwhelming bulk of pages here exist to say something original—not necessarily important but original nonetheless. This is not one of those many websites that collate suppositions from who knows where on the Internet. Though I may slip up now and then, my intention is that all the substantive work at this site is original research into primary sources, unless another source is noted, or is the application of that research to comment on a primary or secondary source. Let it be stressed: the only primary source in a study of computer software is the software—not the product documentation, not even the source code, just the software as actually executed by the computer.

For more about the nature of this work and my reasons for doing it, please read Software Analysis by Reverse Engineering.


There are far too many pages at this website for you to navigate without the expandable table of contents to the left of this page. If you see no such thing, then please check the Browser Advice. For an overall description of how these many pages are organised and of what little I expect of you for reading them, see About This Site.


To criticise me, thank me or submit a wish list, please read the page about feedback. I am especially concerned, of course, to hear about errors which I need to correct.

To ask for help with a technical problem, even one that I address at this site, please consult me formally and expect to pay for my time.


This website is funded from consultation services. If you appreciate the research behind the site and the free publication of what I find time to write up, then please recommend my consultation services as widely as possible. If you would like to see the research and writing up become established as full-time work for public benefit, then please consider ways that you might support this site.