Pull to refresh

Тысячи приложений портировали на Windows 95 с помощью .NET Framework

Reading time2 min
Views3.6K

Ютубер MattKC портировал «тысячи приложений» на Windows 95 с помощью .NET Framework, который обеспечивает обратную совместимость с современным программным обеспечением. ОС была выпущена 28 лет назад.

.NET Framework не дебютировал до появления Windows 98, поэтому главная часть эксперимента заключалась в резервном портировании .NET, чтобы заставить его работать с Windows 95. KernelEx, уровень совместимости с открытым исходным кодом для запуска современных приложений в Windows 98, не сильно помог. Другая проблема заключалась в том, хотя даже после переноса всех необходимых DLL с помощью инструмента дампа .NET не работала. Однако блогер обнаружил, что виновником ошибки был устаревший драйвер Windows с именем «ndphlpr», обязательный компонент для .NET.

Тогда MattKC прибегнул к использованию инструмента WinDbg, чтобы помочь «отладить» проблему с .NET Framework, и обнаружил фрагмент кода, связанный с отсутствующим API Windows для определённых функций щелчка:

F2 0F 10 44 24 08 F2 05 2C СО

Поскольку WinDbg в те времена не существовало, то блогеру нужно было решить несколько проблем совместимости. Он выяснил, что проблема, по-видимому, была вызвана отсутствием «NotifyWinEvent» в библиотеке user32.dll, а SSE2 запутывал инструкцию в коде. Тогда ютубер вручную создал метод отображения сообщений об ошибках в видимом окне, что позволило ему исправить все оставшиеся проблемы совместимости DLL. 

В результате MattKC смог продемонстрировать работу Rebuilder for Lego Island и модернизированного приложения для создания скриншотов в Windows 95.

Ранее Microsoft заявила, что прекратит поддержку .NET 7 после 14 мая 2024 года. Версию .NET 8 официально выпустили в ноябре 2023 года, а её поддержка завершится не ранее ноября 2026 года. В феврале 2024 года компания представила первую предварительную версию следующего обновления инструмента .NET 9. Официальный её релиз запланирован на ноябрь 2024 года.

Tags:
Hubs:
+7
Comments8

Other news