[C++]Fix select/login exploit buffer

Aici poți găsi sisteme complete, verificate și recomandate de echipa 4Metin.
Avatar utilizator
F. Gabriel
Administrator
Administrator
Mesaje: 507
Membru din: Lun Aug 01, 2022 10:23 am
Localitate: Tecuci
Status: Retras
Multumiri acordate: 18
Multumiri primite: 350
Contact:

[C++]Fix select/login exploit buffer

Mesaj de F. Gabriel »

Deschide input_login.cpp si caută următoarea funcție:

Cod: Selectaţi tot

void CInputLogin::CharacterSelect(L
Înainte de TPlayerLoadPacket player_load_packet;, adaugă:

Cod: Selectaţi tot

	if (!c_r.players[pinfo->index].dwID) // FIXME
{
	sys_err("No player id for login %s", c_r.login);
	d->SetPhase(PHASE_CLOSE);
	return;
	}
În funcția void CInputLogin::ChangeName(LPDESC d, const char *. adaugă:

Deasupra liniei:

Cod: Selectaţi tot

if (!c_r.players[p->index].bChangeName)
Adaugă:

Cod: Selectaţi tot

	if (p->index >= PLAYER_PER_ACCOUNT)	// FIXME overflow
	{
		sys_err("index overflow %d, login: %s", p->index, c_r.login);
		d->SetPhase(PHASE_CLOSE);
		return;
	}
Imagine

Hosting Metin2 by OVINETWORK.RO
M2FORUM este una dintre cele mai active comunități dedicate jocului Metin2 din România, unde dezvoltatorii și pasionații de servere private pot găsi informații, suport și resurse utile pentru proiectele lor.
Scrie răspuns