YouTuber展示如何将"数千款应用程序"带回到 Windows 95 时代
YouTuber展示如何将"数千款应用程序"带回到Windows95时代您可能不知道,.NET直到Windows98出现时才首次有了这个概念,因此与Windows95系统并不兼容。因此,实验的第一个重要部分就是反向移植.NET,使其与Windows95兼容。在这方面,用于在Windows98上运行现代应用程序的开源兼容层KernelEx并没有起到多大作用。另一个问题是缺少DLL文件,即使使用转储工具移植了所有必要的DLL,.NET也无法运行。经过进一步调查,发现一个名为"ndphlpr"的传统Windows驱动程序是罪魁祸首,因为它是.NET的一个必要组件,在旧系统运行时会导致.NET崩溃,尽管它在Windows98中似乎已经过时。此外,也没有办法绕过这个驱动程序。这时,YouTuber不得不使用WinDbg工具来帮助"调试".NETFramework中的问题,最后,故障排除终于有了回报,因为他发现了一个与某些点击功能缺失的WindowsAPI有关的代码片段。F20F 10 44 24 08F205 2CCO虽然我们在这里说得很轻松,但实际上并非如此,因为当时还没有WinDbg,这意味着必须克服几个兼容性问题。解码后发现,问题是由于user32.dll库中缺少"NotifyWinEvent"造成的,而SSE2在代码中混淆了一条指令,使得问题变得更加复杂。不管怎样,MattKC尝试对SSE2进行了修补,但仍然没有解决问题。最后,这位YouTuber手工制作了一种方法,在可见窗口中显示错误信息,从而修复了所有剩余的DLL兼容性怪癖。他的坚持终于得到了回报,揭示了遗留代码的秘密,证明了即使是几十年前的系统也可以超越其极限;这的确是一项相当了不起的成就。这篇文章简要总结了所取得的成果,而上面的完整视频也非常值得一看。...PC版:https://www.cnbeta.com.tw/articles/soft/1427405.htm手机版:https://m.cnbeta.com.tw/view/1427405.htm