Geliştirici Fast Food Tycoon 2'yi Ghidra ile tersine mühendislikle inceledi
Öne çıkanlar
- Fast Food Tycoon 2'nin 4 bin 46 fonksiyonu Ghidra ve SQLite tabanlı bir dizinleme aracıyla kaynak koda dönüştürüldü.
- Oyun motoru, ekranı tamamen yeniden çizmek yerine yalnızca hareket olan alanları güncelleyen bir önbellek mimarisi kullanıyor.
- Pizza puanlama algoritması, malzeme ağırlıklarını kontrol ederek rakiplerden yapılan kopyalamaları tespit edip ceza puanı uyguluyor.
Bir yazılım geliştiricisi, 2001 yapımı simülasyon oyunu Fast Food Tycoon 2'yi Ghidra ve yapay zeka destekli otonom bir döngü kullanarak kaynak koda dönüştürdü. Çalışmada oyunun çalıştırılabilir dosyasında bulunan 4 bin 46 fonksiyon, yaklaşık 9,5 megabaytlık C benzeri metne çevrildi. Elde edilen kodlar SQLite veri tabanına aktarıldı ve Windows bellek okuma API'leri ile oyunun arayüz iş parçacığı dinamik olarak izlendi.
Tersine mühendislik süreci, izometrik şehir oluşturma motorunun katmanlı çizim tekniklerini ve performans optimizasyonlarını ortaya çıkardı. Oyun motorunun yalnızca değişen bölgeleri güncelleyen bir sistem kullandığı, 16 bit renk verisini bağımsız aydınlatma baytlarıyla birleştirdiği ve yayaların duvar arkasında kaldığında özel dış hatlarla çizildiği belirlendi. Sokak lambalarının saatlik ışık tablosuna göre kademeli yandığı ve restoran camlarının geceye özel ışık maskeleriyle korunduğu görüldü.
İnceleme, oyun mekaniklerine dair gizli kalan mantıksal kuralları da gün yüzüne çıkardı. Şehir sakinlerinin her gün sıfırlanmayan kalıcı rutinlere sahip olduğu ve pizza puanlama sisteminin malzemeleri 24 bölgede simetriye göre puanladığı anlaşıldı. Algoritmanın, rakip restoranların tariflerini malzeme ağırlıkları üzerinden karşılaştırarak intihal denetimi yaptığı ve kopyalanan pizzalara ceza puanı uyguladığı tespit edildi.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.