HomeGame GuidesYouTuber shows how he brought "thousands of apps" back in time to...

YouTuber shows how he brought “thousands of apps” back in time to Windows 95

Published on

Last month we reported on an interesting experiment that demonstrated the excellent backward compatibility of Windows with the help of Office.

A similar experiment was done by YouTuber MattKC but on a much larger scale, where he set out to revive “thousands of apps” for Windows 95, which was released 28 years ago. This was mostly managed with the help of the .NET Framework, but that was also the first part of the challenge.

In case you might not know, .NET didn’t debut until Windows 98 came along, hence it wasn’t compatible with 95. So the first big part of the experiment was to backport .NET to make it work with Windows 95.

In this regard, KernelEx, an open source compatibility layer for running modern applications in Windows 98, was not much help. Another problem was missing DLLs, although even after transferring all the necessary DLLs using a dumping tool, .NET didn’t work.

After some more digging, it was found that a legacy Windows driver called “ndphlpr” was the culprit as it turned out to be a required component for .NET that caused it to crash, even though it was apparently deprecated in Windows 98. There is no way around this driver either.

That’s when the YouTuber turned to using the WinDbg tool to help “debug” a problem with the .NET Framework, and finally, the troubleshooting paid off as a piece of code related to a missing Windows API for certain click functions was discovered.

F2 0F 10 44 24 08 F2 05 2C CO

As easy as we made it sound here, it was anything but, as WinDbg didn’t exist at the time, which meant some compatibility issues had to be overcome.

Decryption revealed that the problem was most likely caused by the lack of “NotifyWinEvent” in the user32.dll library, and this was further complicated by SSE2 obfuscating an instruction within the code. Regardless, MattKC tried patching the SSE2 from it although that still didn’t fix the problem.

Finally, though the YouTuber manually created a method to display the error messages in a visible window, allowing him to fix any remaining DLL compatibility quirks. His persistence paid off, revealing the hidden secrets of legacy code and proving that even decades-old systems can be pushed beyond their limits; Quite an impressive achievement indeed.

This article very briefly summarizes what has been achieved and the full video linked above is well worth a watch.

Latest articles

More like this