İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım Silkroad Online C+ Motor Mimarisi: 899 Sınıflık RTTI Hiyerarşisi, VTable Analizi ve Alt Sistemler

Cevaplar0
Görüntüleme7
Ticaret Puanı
0
Katılım
19 Ocak 2026
Mesajlar
277
Tepkime puanı
225
Puanları
0
Web sitesi
www.youtube.com
Discord
ayzekk.
Mevcut Bakiye
4605 ₺
🏛️ Silkroad Online C++ Motor Mimarisi: 899 Sınıflık RTTI Hiyerarşisi, VTable Analizi ve Alt Sistemler

1. Giriş ve RTTI Tersine Mühendislik Metodolojisi
Modern tersine mühendislik süreçlerinde derlenmiş ikili (binary) dosyaların nesne yönelimli mimarisini (OOP) ortaya çıkarmanın en kesin yöntemi, derleyicinin çalışma zamanı tip bilgisi (RTTI - Run-Time Type Information) kalıntılarını ve sanal fonksiyon tablolarını (VTable - Virtual Method Table) çözümlemektir.

Silkroad Online istemcisi (sro_client.exe) üzerinde Ghidra ve IDA Pro ile yürütülen RTTI analizleri, Joymax grafik ve oyun motorunun tam 899 adet C++ sınıfından oluşan devasa bir polimorfik hiyerarşi üzerine kurulduğunu kanıtlamıştır. Bu teknik monograf, istemcinin 7 ana alt sistemini (Network, Entity, UI, Rendering, Managers, FileSystem, State Machine) ve vtable dinamiklerini belgelemektedir.

---

2. Ağ Alt Sistemi (Network Subsystem) ve VTable Dağıtımı
İstemci ağ mimarisi, soket soyutlaması ve asenkron mesajlaşma boru hattı etrafında katmanlandırılmıştır:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

3. Varlık Hiyerarşisi (Entity Subsystem) ve Kalıtım Zinciri
Oyun dünyasında var olan tüm canlı, cansız, dinamik ve görsel nesneler kök CIEntity sınıfından türetilmiştir:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

4. Kullanıcı Arayüzü Çerçevesi (UI / GUI Subsystem)
İstemcinin grafiksel kullanıcı arayüzü, pencere temelli hiyerarşik bir GUI motoruna dayanır. Tüm pencereler kök CGWndBase sınıfından türer:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

5. 3D Render ve Varlık Motoru (Rendering Subsystem)
Joymax 3D grafik motoru, ikili disk varlıkları (IPrim) ile GPU çalışma zamanı nesneleri (CRT) arasında çift katmanlı bir ayrım kullanır:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

6. Uygulama Çekirdeği ve Durum Makinesi (State Machine)
İstemci çalıştırıldığında yaşam döngüsü CPSilkroad ana uygulama sınıfı altındaki durum nesneleri (CPS*) ile kontrol edilir:
- CPSLogo: Joymax ve ortak logolarının gösterildiği ilk durum.
- CPSTitle: Giriş (Login) ekranı.
- CPSCharacterSelect: Karakter seçim ekranı.
- CPSCharacterCreateChina & CPSCharacterCreateEurope: Irk bazlı karakter oluşturma durumları.
- CPSMission: Asıl oyun dünyasının (MMO oturumunun) aktif olduğu ana döngü.

---

7. Sonuç
Joymax motorunun 899 sınıflık mimarisi, bileşen tabanlı (component-based) modern oyun motorlarının öncülü sayılabilecek katı bir nesne hiyerarşisine dayanmaktadır. Ağ katmanından arayüze, Direct3D 9 çizim çağrılarından varlık bellekleme modellerine kadar tüm sistemler sanal metot tabloları (VTable) üzerinden deterministik olarak bağlanmıştır.

🙏 Silkroad Geliştirici Camiasına Teşekkür ve Saygı

Bu kapsamlı teknik dokümantasyon, tersine mühendislik mimarisi ve protokol analizlerinin gün ışığına çıkmasında Silkroad ekosistemine yıllardır karşılıksız devasa emekler veren ve bu mirası ileriye taşımaya devam eden öncü geliştiricilerimize en içten teşekkürlerimizi sunarız:

⭐ DaxterSoul — Paket filtreleme, proxy mimarileri ve sunucu güvenliğindeki temel çalışmaları ve topluluğa kazandırdığı standartlar için,
⭐ florian0 — İstemci (Client) ve GameServer ikili (binary) tersine mühendisliği, hook ve assembly düzeyindeki rehber niteliğindeki araştırmaları için,
⭐ JellyBitz — Açık kaynak Silkroad araçları, paket analiz kütüphaneleri ve geliştirici ekosistemine sunduğu paha biçilmez açık kaynak yazılımlar için,
⭐ ferdoran — İstemci-sunucu protokol analizlerinin, opcode referanslarının ve teknik dokümantasyonun derlenip topluluğa kazandırılmasındaki büyük gayretleri için.

Silkroad geliştirici topluluğuna kattığınız değer, paylaştığınız bilgi birikimi ve sunduğunuz vizyon için sonsuz teşekkürler. İyi ki varsınız!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 17,789 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,209
Mesajlar 4,051
Kullanıcılar 1,597
Son üye serkankacan
Geri
Üst