Ana Sayfa

Eski Bir Uygulamanın Zekice CD Kontrolünü Aşmak

1 dk okuma

Bir yazılımcı, harici bir sürücüye ihtiyaç duymadan eski bir referans CD uygulamasını kullanabilmek için yaratıcı bir yöntem geliştirdi. Uygulama, CD takılı olmadan başlatılamadığı için, yazar uygulamayı tersine mühendislik yaparak CD kontrol mekanizmasını anlamaya çalıştı. Birkaç denemenin ardından, uygulamanın ana giriş noktasını içeren Start adlı bir sınıfın main fonksiyonunu keşfetti. Bu fonksiyonun, uygulamanın başlatılması için belirli komut satırı argümanları ("Invalid" ve "class") beklediği ortaya çıktı. Eğer bu argümanlar sağlanırsa, uygulama gerçek giriş noktası olan fu.main fonksiyonunu çağırıyor; aksi takdirde, üç saniye bekleyip bir hata mesajı gösteriyordu.

Bu gizli argümanların, uygulamanın başlatıcısı tarafından sağlandığı anlaşıldı. Windows sürümünün başlatıcısı karmaşık ve anlaşılmaz bir şekilde şifrelenmişken, macOS sürümünün başlatıcısı basit bir kabuk betiğiydi ve bu betik sayesinde gerekli argümanlar açığa çıktı. Bu keşif, yazarın CD kontrolünü atlatmasının anahtarı oldu. Uygulama, belirtilen argümanlarla çağrıldığında sorunsuz bir şekilde çalışıyordu.

Bu bilginin ışığında, yazar Linux işletim sisteminde, uygulamayı "sihirli kelimelerle" başlatan bir .desktop dosyası oluşturdu. Bu sayede, resmi olarak desteklenmeyen bir platform olan Linux'ta bile uygulama beklendiği gibi çalışır hale geldi. Bu çözüm, eski yazılımları modern sistemlerde harici donanım gerektirmeden kullanmak isteyenler için ilham verici bir örnek teşkil ediyor.

İçgörü

Bu yöntem, eski yazılımların modern sistemlerde harici donanım gerektirmeden çalıştırılabilmesi için yaratıcı bir çözüm sunarak yazılım uyumluluğu sorunlarına ışık tutuyor.

Kaynak