- Mesaj
- 3
- Beğeni
- 0
- Puan
- 11
- Ticaret Puanı
- 0
Merhaba,
Hounds: The Last Hope (Hounds: Reload) projesini yerel ortamda çalıştırmak ve
sunucu kapandıktan sonra oyunu tekrar oynanabilir hale getirmek için geliştirme
yapıyorum. İlk gün içinde login ekranına kadar gelmeyi başardım; TCP paket
alışverişi de sunucu tarafında çalışıyor. Ancak login ekranından sonraki adıma
(karakter seçimi / lobi) geçiş hâlâ tamamlanamadı.
Manuel olarak login sistemini düzeltmeye çalışıyorum. Bir defa örnek
değişiklikler yapıp direkt login atlama (autologin / UI skip) denedim; login
ekranı geçildi ama karakter oluşturma ve 3D lobi sahnesi açılmadığı için
login sistemini atlamadan giriş yapmanın mantıksız olduğunu düşündüm. Şu an
hedefim: gerçek CQ → SA login akışını çalıştırıp ardından karakter seçim
ekranına ulaşmak.
Çalışan:
[x] Oyun açılıyor, Korece login ekranı geliyor
[x] Auth HTTP stub (18080) yanıt veriyor
[x] Patch sunucusu (9090) Archive + GameClient.dll sunuyor
[x] TCP 6901: CQ paketi geliyor (20 byte)
[x] Sunucu SA gönderiyor (plain_sa_layout, 20 byte)
[x] Patch verify: tüm kritik adresler [OK]
Çalışmayan / takılı:
[ ] Login butonu (로그인) sonrası ekran değişmiyor
[ ] ~6 saniye sonra TCP bağlantısı kapanıyor (CLOSE)
[ ] Karakter seçimi / lobi / 3D sahne açılmıyor
Örnek tcp_capture.log:
C->S: 63d037c116803ab83dab118724b0081e6bfd7ad8 (CQ)
S->C: 63d037c14e4d140030314c6f1204040000000000 (plain SA)
CLOSE ~6s sonra
Yani sunucu tarafı paket alışverişi tamam; sorun istemcinin SA'yı işleyip
DE640 handler → C0D0 (lobi) → FAF4 (UI geçişi) zincirini tamamlayamaması.
--------------------------------------------------------------------------------
YARDIM İSTEDİĞİM KONULAR
--------------------------------------------------------------------------------
1) GameClient.dll login TCP akışı:
- CQ sonrası SA'nın hangi fonksiyon zinciriyle işlendiği
- 1017F310 → 100E4A20 → DE640 → 1022C0D0 yolunun doğrulanması
- Plain SA yerine doğru Hermit SA üretimi (pos/key brute)
2) SA paket gövdesi formatı:
- g_txt_SA_CreateChar_2 / sscanf beklenen metin yapısı
- Create_Name / LocalPlayer alanlarının wire üzerindeki gerçek layout'u
3) Karakter listesi / lobi TCP opcode'ları (login sonrası):
- 0x40420+ paket tipleri
- GameServer.dll vs GameClient.dll ayrımı
4) Ghidra / x64dbg ile runtime trace:
- Login tıklanınca hangi branch'lerin alındığı
- SA geldikten sonra neden FAF4/C0D0 tetiklenmiyor
5) Eski resmi sunucu dump / paket capture varsa paylaşım
--------------------------------------------------------------------------------
BİRLİKTE GELİŞTİRME
--------------------------------------------------------------------------------
Bu projeyle ilgilenen, reverse engineering / oyun protokolü / eski MMO
sunucu emülasyonu deneyimi olan varsa birlikte ilerleyebiliriz.
Aradığım profiller:
- GameClient.dll / Hermit cipher analizi yapmış
- LithTech tabanlı eski Netmarble oyunlarıyla uğraşmış
- TCP paket capture + Ghidra decompile deneyimi olan
- Python stub sunucu + binary patch workflow'una katkı verebilecek
İletişim için bu konuya cevap yazabilir veya DM atabilirsiniz.
Log dosyası (tcp_capture.log, login_trace.log), Ghidra notları
(SA_handler_DE640_analiz.txt) ve patch scriptleri paylaşılabilir.
Kısa vadeli hedef: Login ekranından çıkıp karakter seçimine geçmek.
Orta vadeli: Karakter oluşturma + lobi 3D sahnesi + butonların çalışması.
Uzun vadeli: Oyun içi TCP/GameServer protokolünün emülasyonu.
Teşekkürler.
Son düzenleme: