Geoff Chappell - Software Analyst
Massed withdrawal from ordinary social activity early in 2020 surely was necessary as an emergency measure to get the coronavirus pandemic under control, but staying for days on end in my apartment mutated from weeks or months into a year. At least I do have the luxury of being able to keep to myself for long times, both financially and psychologically. In all my imagining of how I might be cast in a movie apocalypse, I figured I’d be killed off early as an example of being not fit to survive, but what we got instead is this one scenario that I’m very well adapted for. All I wish is that I had realised from the start that it would go on for so long: I might have planned my time better!
For make no mistake: provided the pandemic (or its embarrassingly poor handling by most rich-world governments) has not turned your life into a question of survival, it made 2020 into a year of opportunity. Because everyone’s life was turned upside down in 2020, there never will be so little awkwardness about having nothing to show for a year. If you had the luxury of not starving, then 2020 was the year to experiment or to think big or to tackle whatever it is that has been on your to-do list for years even though you’ve known all along that you never would find the many months needed just for getting it started. Write that novel or play!
This website’s opportunity from 2020 was some reorganisation to open some larger themes. Though this website does not teach reverse engineering, nor even is about reverse engineering, it plainly has reverse engineering as more than mere background. The pandemic is my opportunity to bring reverse engineering to the centre, if only for a while. My chosen theme is: what can reverse engineering tell us about Microsoft’s source code for Windows? It won’t be all that’s new, but I very much do mean to commit to it—and not just for 2020.
Certainly someone must do something of this sort. Too many people, not just employees of Microsoft, take as granted that any detailed examination of Windows needs access to source code—and that an attempted reproduction of it, as with the ReactOS project, must have used the source code by hook or by crook. And why should they not think so? Where the reverse engineering of Windows doesn’t look like it has benefited from insider knowledge, it has instead the look of having been lifted from the back of a truck. Some writing on Windows internals somehow has both looks—concurrently, even—and the writers are widely regarded as brilliant reverse engineers. They may actually be brilliant, but I think they’ve done incalculable damage to the development of reverse engineering as any sort of academic discipline within computer science, let alone to its respectability. If what I achieve with this website is at all worthwhile, it will be that I with my meagre resources did as best as one man can to counteract this damage.
If you value the existence of this sort of free and independent resource for Windows programming, please help me justify it:
Back in 2017…
Now that research and writing is again a part-time exercise (after some full-time self-indulgence in 2016), the output is of course greatly diminished, certainly in ambition and quantity, and very likely in quality too. It is on the one hand very unsatisfying to work at nights and weekends only on material that doesn’t need more than nights and weekends. You get such work done well enough if you can stick at it, which is not easy since you know that while you only aim so low then low is unsurprisingly what you’ll achieve. On the other hand, working even full-time for a month on something whose scale might easily justify a year of study is very frustrating because you see the mountain but have to give up at the foothills. Still, I try to have something to show now and then:
What was at first a half-hearted resumption of research and writing at nights and on weekends at the start of 2016 after a break of five years got into full swing by mid-year. But the realities of having to earn a living brought me again to the problem that this sort of work just isn’t sustainable as free publication. Again I found myself writing along such lines as: whatever is here on 1st March 2017 may be all there ever will be.
Research and writing for this website stopped at the end of 2010 while I took stock of what it’s good for, how it could be continued and whether I should want to continue it. For quite some time, especially after I instead took up full-time employment in 2011, it looked as if whatever was here at this website on 1st November 2010 would be pretty much all there ever will be. There were inevitably some corrections, because I am of course responsible for what I write. There was a little maintenance and tidying up, but there was every plan never again to do any significant updating, let alone to write anything truly new.
I had called time on this before, in September 2009, yet somehow kept the work sputtering along while looking for ways to fund it. The experience of trying to do that was deeply unsatisfying. What little work I managed to get done in that last year is of a greatly diminished ambition. I’d have been pleased enough with it five or more years before, but it’s a shadow of what I have since seen can be achieved when freed from the ever-present need to make this sort of work pay its own way.
The last set of links gets you to the 329 pages that were added or substantially revised in the not-quite-a-year before suspension in September 2009, as I rushed to have something to show for the years I had committed to this documentation project. If those pages do not themselves demonstrate the project’s worth as a public good, then neither will any amount of additional writing, and the experiment is better judged a failure. That’s a shame. There is so much more to find out and write up, so few who try, and hardly anyone who does it well enough that it might be sensible to imagine relying on it. How much innovation in interacting with Windows has been missed because nobody knew quite enough about Windows even to see the possibility? For all that’s written about crowds pooling their wisdom to produce commercial-quality work for the public benefit, you might think they’d have done better at the question of what’s in the world’s most-used software.
There are older pages, of course, many from as long ago as 2004 and some from as far back as 1997. But I did not start listing them by date until late 2008. Until someone asked, it just never occurred to me that anyone would want them listed by date.