2 mesaje
Administrator Administrator
  • Mesaje: 3449
  • Reacții: 48420
  • Mesaje utile: 29
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Aceasta este rezolvarea pentru un exploit la functia lua "pc_change_name" prin care playerii pot abuza si sa faca dupe la obiecte.

    Acest FIX rezolva acest lucru prin delogarea jucatorului dupa ce acestia isi schimba numele.

    *Poze / Video:

    *Link download / Code:
    Deschidem questlua_pc.cpp si cautam:
    Code:
     int pc_change_name(lua_State* L)
    Mai jos vom gasi:
    Code:
    		db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD));
    		db_clientdesc->Packet(&pid, sizeof(DWORD));
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem peste 1700 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
  • Mesaje: 1
  • Reacții: 0
  • Mesaje utile: 0
  • Regat: Jinno
  • Medalii

    Mesaj de Thorfinn »

    Code:
    	ALUA(pc_change_name)
    	{
    #ifdef ENABLE_LOCALECHECK_CHANGENAME
    		lua_pushnumber(L, 5);
    		return 1;
    #endif
    
    		LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
    
    		if ( ch->GetNewName().size() != 0 )
    		{
    			lua_pushnumber(L, 0);
    			return 1;
    		}
    
    		if ( lua_isstring(L, 1) != true )
    		{
    			lua_pushnumber(L, 1);
    			return 1;
    		}
    
    		const char * szName = lua_tostring(L, 1);
    
    		if ( check_name(szName) == false )
    		{
    			lua_pushnumber(L, 2);
    			return 1;
    		}
    
    		char szQuery[1024];
    		snprintf(szQuery, sizeof(szQuery), "SELECT COUNT(*) FROM player%s WHERE name='%s'", get_table_postfix(), szName);
    
    		auto pmsg(DBManager::instance().DirectQuery(szQuery));
    		if ( pmsg->Get()->uiNumRows > 0 )
    		{
    			MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult);
    
    			int	count = 0;
    			str_to_number(count, row[0]);
    
    			if ( count != 0 )
    			{
    				lua_pushnumber(L, 3);
    				return 1;
    			}
    		}
    
    		DWORD pid = ch->GetPlayerID();
    
    		// @fixme309 BEGIN
    		ch->Save();
    		ch->SetExchangeTime();
    		ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The name has been successfully changed. You're going to get disconnected."));
    		ch->GetDesc()->DelayedDisconnect(10);
    		// @fixme309 END
    
    		/* delete messenger list */
    		MessengerManager::instance().RemoveAllList(ch->GetName());
    
    		/* change_name_log */
    		LogManager::instance().ChangeNameLog(pid, ch->GetName(), szName, ch->GetDesc()->GetHostName());
    
    		snprintf(szQuery, sizeof(szQuery), "UPDATE player%s SET name='%s' WHERE id=%u", get_table_postfix(), szName, pid);
    		auto msg = DBManager::instance().DirectQuery(szQuery);
    
    		ch->SetNewName(szName);
    		lua_pushnumber(L, 4);
    		return 1;
    	}

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    1300+ de membri activi!
    Robot Discord
    Roboțelu'
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: 0NeXuS0, anghel, kix, rt winter, whitehat1632 și 2 vizitatori

    Discord ID copiat: