Geçtiğimiz ay, Windows’un geriye dönük uyumluluğunun ne kadar geriye gidebildiğini gözler önüne seren eğlenceli bir deneyi sizlerle paylaşmıştık. Şimdiyse buna benzeri bir deney MattKC isimli bir YouTuber tarafından yapıldı; lakin bu sefer çok daha büyük bir ölçekte.
Youtuber, binlerce uygulamayı 28 yıl evvel piyasaya sürülen Windows 95’te kullanılabilir hale getirmek üzere bir teşebbüste bulundu. Temel olarak .NET Framework yardımıyla gerçekleştirilen bu çalışma, aslında deneyin birinci kısmını oluşturuyor. Bilmeyenler için söyleyelim; .NET Windows 98 çıkana kadar piyasaya sürülmemişti ve hasebiyle 95 ile uyumlu değildi. Bu yüzden deneyin birinci büyük kısmı .NET’i Windows 95 ile çalışacak biçimde düzenlemek oldu.
Ne yazık ki Windows 98’de çağdaş uygulamaları çalıştırmaya yarayan açık kaynaklı bir uyumluluk katmanı olan KernelEx bu hususta pek yardımcı olmadı. Hatta bir damping aracı kullanarak gerekli tüm DLL’leri taşıdıktan sonra bile .NET çalışmadı.
Youtuber, biraz daha araştırdıktan sonra “ndphlpr” isimli eski bir Windows şoförünün sorunun kaynağı olduğunu, çünkü bu şoförün .NET için gerekli bir bileşen olduğunu ve Windows 98’de artık kullanılmıyor üzere görünmesine karşın çökmesine neden olduğunu buldu. Ayrıyeten bu sürücüyü atlatmanın da görünürde bir yolu yoktu.
Bu noktada YouTuber, .NET Framework ile ilgili sorunu “ayıklamaya” yardımcı olması için WinDbg
Burada bahsettiğimiz süreç kulağa çok kolay bir çözümmüş üzere gelse de WinDbg o periyotta mevcut olmadığından kimi uyumluluk problemlerinin aşılması sıkıntı bir işti. Kod çözme süreci, sorunun user32.dll kütüphanesinde “NotifyWinEvent” belgesinin olmamasından kaynaklandığını ortaya çıkardı ve bu durum SSE2’nin kod içindeki bir talimatı gizlemesiyle daha da karmaşık hale geldi. Tüm bunlara karşın MattKC, SSE2’yi yamalamayı denese de sorun yeniden de çözülmedi.
Son olarak, YouTuber kusur bildirilerini görünür bir pencerede görüntülemek için manuel olarak bir sistem hazırladı ve kalan tüm DLL uyumluluk meselelerini çözebildi. Israrının karşılığını alan YouTuber, eski kodların bilinmeyen sırlarını ortaya çıkardı ve onlarca yıllık sistemlerin bile hudutlarının ötesine geçilebileceğini kanıtladı.
GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024GÜNDEM
13 Aralık 2024Veri politikasındaki amaçlarla sınırlı ve mevzuata uygun şekilde çerez konumlandırmaktayız. Detaylar için veri politikamızı inceleyebilirsiniz.