Sosyal açıldı! Bir göz at → Hemen gir →

24XX 25xx Server Files 2026 Güncel

KY Saygın Üye
Yardımsever
Server Sahibi
KAYIT
16 Nis 2023
Mesajlar
462
Çözümler
14
Tepki puanı
336
Web
letskogame.com
teşşeküler
 
KY Üye
KAYIT
19 Ağu 2026
Mesajlar
66
Tepki puanı
4
Kurulum için 0532 544 7381 Whatsaap Fiyat 300 TL


Selamlar .Birkaç ciddi bug bulup Fixledim. Öyle rastgele indridim bir dosyadir. geliştirmek için baya sorunlari vardi fixledim yeni sorun bulursaniz direk konu altindan yazin fixlemeye devam ederim .test edecek cok fazla vaktim yok saygilarimla.

İçeresine kurulum talimati ekledim. yapamayan veya pus ayarlarina kadar hazir halde testlim de edebilirim özelden yazabilirisniz bunun için.

*** Gizli metin: alıntı yapılamaz. ***


Son günlerde kaynakta debug yaparken üç şey bulduk, hepsi klasik "config hatası" değil, gerçek kod seviyesinde sorunlardı:

1) KOSocket'te uzaktan tetiklenebilen çökme (integer underflow)

shared/KOSocket.cpp → DecryptPacket() içinde şifreli paket işleme yolunda bir boyut kontrolü eksikti. Paket 4-7 bayt aralığında bir uzunlukla gelirse, kod bundan 8 çıkarıyor — uint16 olduğu için bu işlem taşıyor (underflow) ve boyut değişkeni ~65530 gibi anlamsız bir sayıya dönüşüyor. Hemen ardından o "boyut" kadar memcpy çalıştırılınca bellek sınırlarının çok dışına okuma yapılıyor, sonuç: anında access violation.

En zor kısmı buydu aslında: local/loopback testte bu hiç görünmüyor çünkü tüm paket tek recv() çağrısında geliyor. Gerçek internet bağlantısında TCP segmentasyonu yüzünden paket parçalı geldiğinde tetikleniyor. Bunu yakalamak için elle, byte-byte, gecikmeli TCP paketleri gönderen bir test scripti yazıp fragmentasyonu simüle ettik, ancak öyle reprodüklenebildi.

2) Debugger olmadan crash dump analizi

Sunucuda WinDbg/cdb kurulu değildi, internetten indirmeye de vakit yoktu. dbghelp.dll'i doğrudan P/Invoke ile çağırıp kendi sembol çözücümüzü yazdık — ham crash offset'ini PDB üzerinden gerçek dosya/satır numarasına çevirip bug'ı memcpy çağrısına kadar geriye izledik. Klasik "hatayı tahmin et" yöntemi değil, doğrudan kanıta dayalı debugging.

3) Launcher'da kasıtlı olarak gizlenmiş bir kilit mekanizması

Launcher, belirli bir IP'ye bağlanmaya çalışınca sahte bir hata mesajı ("Unknown data stream.") gösterip kapanıyordu — sanki ağ hatasıymış gibi. Kod tabanına inince bunun aslında bir IP whitelist kontrolü olduğunu, hata mesajının bilerek yanıltıcı yazıldığını gördük. Bulup düzelttik.


Ekli dosyayı görüntüle 20180
Ekli dosyayı görüntüle 20181
good job!
 
KY Kıdemli Üye
KY Üye
KAYIT
13 Kas 2022
Mesajlar
81
Tepki puanı
3
Kurulum için 0532 544 7381 Whatsaap Fiyat 300 TL


Selamlar .Birkaç ciddi bug bulup Fixledim. Öyle rastgele indridim bir dosyadir. geliştirmek için baya sorunlari vardi fixledim yeni sorun bulursaniz direk konu altindan yazin fixlemeye devam ederim .test edecek cok fazla vaktim yok saygilarimla.

İçeresine kurulum talimati ekledim. yapamayan veya pus ayarlarina kadar hazir halde testlim de edebilirim özelden yazabilirisniz bunun için.

*** Gizli metin: alıntı yapılamaz. ***


Son günlerde kaynakta debug yaparken üç şey bulduk, hepsi klasik "config hatası" değil, gerçek kod seviyesinde sorunlardı:

1) KOSocket'te uzaktan tetiklenebilen çökme (integer underflow)

shared/KOSocket.cpp → DecryptPacket() içinde şifreli paket işleme yolunda bir boyut kontrolü eksikti. Paket 4-7 bayt aralığında bir uzunlukla gelirse, kod bundan 8 çıkarıyor — uint16 olduğu için bu işlem taşıyor (underflow) ve boyut değişkeni ~65530 gibi anlamsız bir sayıya dönüşüyor. Hemen ardından o "boyut" kadar memcpy çalıştırılınca bellek sınırlarının çok dışına okuma yapılıyor, sonuç: anında access violation.

En zor kısmı buydu aslında: local/loopback testte bu hiç görünmüyor çünkü tüm paket tek recv() çağrısında geliyor. Gerçek internet bağlantısında TCP segmentasyonu yüzünden paket parçalı geldiğinde tetikleniyor. Bunu yakalamak için elle, byte-byte, gecikmeli TCP paketleri gönderen bir test scripti yazıp fragmentasyonu simüle ettik, ancak öyle reprodüklenebildi.

2) Debugger olmadan crash dump analizi

Sunucuda WinDbg/cdb kurulu değildi, internetten indirmeye de vakit yoktu. dbghelp.dll'i doğrudan P/Invoke ile çağırıp kendi sembol çözücümüzü yazdık — ham crash offset'ini PDB üzerinden gerçek dosya/satır numarasına çevirip bug'ı memcpy çağrısına kadar geriye izledik. Klasik "hatayı tahmin et" yöntemi değil, doğrudan kanıta dayalı debugging.

3) Launcher'da kasıtlı olarak gizlenmiş bir kilit mekanizması

Launcher, belirli bir IP'ye bağlanmaya çalışınca sahte bir hata mesajı ("Unknown data stream.") gösterip kapanıyordu — sanki ağ hatasıymış gibi. Kod tabanına inince bunun aslında bir IP whitelist kontrolü olduğunu, hata mesajının bilerek yanıltıcı yazıldığını gördük. Bulup düzelttik.


Ekli dosyayı görüntüle 20180
Ekli dosyayı görüntüle 20181
Teşekkürler emeğine sağlık
 
Üst Alt