- Mesaj
- 28
- Beğeni
- 70
- Puan
- 735
- Ticaret Puanı
- 0
Merhaba arkadaşlar Şu konuda geçen saldırı metodunu chatgpt'ye sordum ve birkaç fix önerisi verdi ama deneyecek bir sunucuya veya saldırı metoduna sahip olmadığım için deneyemedim forumdaki benden usta arkadaşlarımız belki yorumda bulunur birlikte çözüm üretiriz diye konu açmak istedim 

desc.cpp:
Bul: bytes_read = socket_read(m_sock, (char*)buffer_write_peek(m_lpInputBuffer), buffer_has_space(m_lpInputBuffer));
Değiştir;
int bytes_to_read = buffer_has_space(m_lpInputBuffer);
// Safety: if the input buffer is full, close to prevent memory/CPU abuse under flood.
if (bytes_to_read <= 0)
{
sys_err("DESC::ProcessInput : input buffer overflow fd %d host %s", m_sock, m_stHost.c_str());
SetPhase(PHASE_CLOSE);
return -1;
}
bytes_read = socket_read(m_sock, (char*)buffer_write_peek(m_lpInputBuffer), bytes_to_read);
input.cpp:
Bul: else if (!m_pPacketInfo->Get(bHeader, &iPacketLen, &c_pszName))
İçerisinde bul: lpDesc->SetPhase(PHASE_CLOSE);
Altına ekle: r_iBytesProceed += m_iBufferLeft;
Bul: if (iExtraPacketSize < 0)
İçerisinde bul: return true;
Üstüne ekle: r_iBytesProceed += m_iBufferLeft;
input.cpp:
Bul: sys_log(0, "HANDSHAKE phase does not handle packet %d (fd %d) (source %s:%u)", bHeader, d->GetSocket(), d->GetHostName(), d->GetPort());
Değiştir;
sys_log(0, "HANDSHAKE phase does not handle packet %d (fd %d) (source %s:%u)", bHeader, d->GetSocket(), d->GetHostName(), d->GetPort());
d->SetPhase(PHASE_CLOSE);
return -1;
Mesela Login girişlerin bir çoğu sunucularda limitsiz, itemlerin yer değiştirme özelliği limitsiz, sunucuya yük bindirme adına basit makrolar bile manipüle edebilir, denemeden bilemeyiz tabi ama ben bunları da limitlemenin derdindeyim. En büyük korkum bu anlamda k envanter ve envanter düzenleme. Onu da kendim düzenleme süresi ile indirgeme yapıyorum ama paylaştığım kişi bilinçsiz kullanırsa oyuncusu k envanter, offline shop vb durumlarda laga girerse falan paket saldırı olarak algılanır sonra GG 