Dolar 32,2020
Euro 35,0069
Altın 2.504,53
BİST 10.643,58
Adana Adıyaman Afyon Ağrı Aksaray Amasya Ankara Antalya Ardahan Artvin Aydın Balıkesir Bartın Batman Bayburt Bilecik Bingöl Bitlis Bolu Burdur Bursa Çanakkale Çankırı Çorum Denizli Diyarbakır Düzce Edirne Elazığ Erzincan Erzurum Eskişehir Gaziantep Giresun Gümüşhane Hakkari Hatay Iğdır Isparta İstanbul İzmir K.Maraş Karabük Karaman Kars Kastamonu Kayseri Kırıkkale Kırklareli Kırşehir Kilis Kocaeli Konya Kütahya Malatya Manisa Mardin Mersin Muğla Muş Nevşehir Niğde Ordu Osmaniye Rize Sakarya Samsun Siirt Sinop Sivas Şanlıurfa Şırnak Tekirdağ Tokat Trabzon Tunceli Uşak Van Yalova Yozgat Zonguldak
İstanbul 22°C
Az Bulutlu
İstanbul
22°C
Az Bulutlu
Pts 22°C
Sal 25°C
Çar 22°C
Per 22°C

Binlerce uygulama zaman tüneline girdi, Windows 95’e göz kırptı

MattKC adlı bir YouTuber, zorlu bir sürecin ardından binlerce uygulamayı 28 yıl önce piyasaya sürülen Windows 95’te çalıştırmayı başardı.

Binlerce uygulama zaman tüneline girdi, Windows 95’e göz kırptı
16 Nisan 2024 10:07
50

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 benzer bir deney MattKC adlı bir YouTuber tarafından yapıldı; ancak bu defa çok daha büyük bir ölçekte.

Youtuber, binlerce uygulamayı 28 yıl önce piyasaya sürülen Windows 95’te kullanılabilir hale getirmek üzere bir girişimde bulundu. Temel olarak .NET Framework yardımıyla gerçekleştirilen bu çalışma, aslında deneyin ilk kısmını oluşturuyor. Bilmeyenler için söyleyelim; .NET Windows 98 çıkana kadar piyasaya sürülmemişti ve dolayısıyla 95 ile uyumlu değildi. Bu yüzden deneyin ilk büyük kısmı .NET’i Windows 95 ile çalışacak şekilde düzenlemek oldu.

Ne yazık ki Windows 98’de modern uygulamaları çalıştırmaya yarayan açık kaynaklı bir uyumluluk katmanı olan KernelEx bu konuda 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” adlı eski bir Windows sürücüsünün sorunun kaynağı olduğunu, zira bu sürücünün .NET için gerekli bir bileşen olduğunu ve Windows 98’de artık kullanılmıyor gibi görünmesine rağmen çökmesine neden olduğunu buldu. Ayrıca 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 işlem kulağa çok kolay bir çözümmüş gibi gelse de WinDbg o dönemde mevcut olmadığından bazı uyumluluk sorunlarının aşılması zor bir işti. Kod çözme işlemi, sorunun user32.dll kütüphanesinde “NotifyWinEvent” dosyasının 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 rağmen MattKC, SSE2’yi yamalamayı denese de sorun yine de çözülmedi.

Son olarak, YouTuber hata mesajlarını görünür bir pencerede görüntülemek için manuel olarak bir yöntem hazırladı ve kalan tüm DLL uyumluluk sorunlarını çö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 sınırlarının ötesine geçilebileceğini kanıtladı.

YORUMLAR

Henüz yorum yapılmamış. İlk yorumu yukarıdaki form aracılığıyla siz yapabilirsiniz.