Reverse-engineering and patching closed-source DLL
The product in question is SOM for WinNT. While being very interesting even after so many years (it beats COM, XPCOM, GObject, Objective-C, CLOS from software engineering perspective, but that's another matter) after release, a SOM implementation suffers from conflict with DEP in modern Windows. I've located and patched every place in SOM runtime. Memory is being allocated from OS on start and on demand in 2 different places; and there are single-thread and multi-thread DLL versions, so 2x2=4.