1 mesaj
Administrator Administrator
  • Mesaje: 3353
  • Reacții: 51113
  • Mesaje utile: 33
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acesta este un fix la un exploit vechi, care poate fi facut la schimbarea CH (cu un hack/script propriu)

    Ce face acest FIX - adauga o limitare la aceasta functie, necesitand un state de logout valid inainte de a o putea folosi.

    *Link download / Code:


    Cautam in common/tables.h:
    Code:
    typedef struct SLogoutPacket
    {
            char login[LOGIN_MAX_LEN + 1];
            char passwd[PASSWD_MAX_LEN + 1];
    } TLogoutPacket;
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.





    Mergem in db/ClientManagerLogin.cpp si cautam (in void CClientManager::QUERY_LOGIN_BY_KEY):
    Code:
        if (memcmp(pkLoginData->GetClientKey(), p->adwClientKey, sizeof(DWORD) * 4))
        {
            const DWORD* pdwClientKey = pkLoginData->GetClientKey();
            sys_log(0, "LOGIN_BY_KEY client key differ %s %lu %lu %lu %lu, %lu %lu %lu %lu", r.login, p->adwClientKey[0], p->adwClientKey[1], p->adwClientKey[2], p->adwClientKey[3], pdwClientKey[0], pdwClientKey[1], pdwClientKey[2], pdwClientKey[3]);
            pkPeer->EncodeReturn(HEADER_DG_LOGIN_NOT_EXIST, dwHandle);
            return;
        }

    Adaugam dupa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Acum deschidem db/ClientManagerLogin.cpp si cautam in void CClientManager::QUERY_LOGOUT:
    Code:
        CLoginData* pLoginData = GetLoginDataByLogin(packet->login);
        if (pLoginData == NULL)
            return;

    Adaugam dupa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.




    Deschidem db/LoginData.cpp si cautam inauntru la constructor (CLoginData::CLoginData()) adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In db/LoginData.h adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschidem game/char.cpp si in functia void CHARACTER::Initialize() adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cautam functie de Warp -> (WarpSet, ChangeChannel, etc):
    Code:
        Stop();
        Save();

    Adaugam inainte:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Acum in game/char.h adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.




    Deschidem game/desc.cpp si cautam in void DESC::Destroy():
    Code:
    	if (m_lpCharacter)
    	{
    		m_lpCharacter->Disconnect("DESC::~DESC");
    		m_lpCharacter = NULL;
    	}

    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cautam:
    Code:
    	if (!g_bAuthServer)
    	{
    		if (m_accountTable.login[0] && m_accountTable.passwd[0])
    		{
    			TLogoutPacket pack;
    
    			strlcpy(pack.login, m_accountTable.login, sizeof(pack.login));
    			strlcpy(pack.passwd, m_accountTable.passwd, sizeof(pack.passwd));
    
    			db_clientdesc->DBPacket(HEADER_GD_LOGOUT, m_dwHandle, &pack, sizeof(TLogoutPacket));
    		}
    	}

    Modificam / adaptam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.




    Acum in game/input_db.cpp cautam in void CInputDB::LoginSuccess:
    Code:
    	if (!d)
    	{
    		sys_log(0, "CInputDB::LoginSuccess - cannot find handle [%s]", pTab->login);
    
    		TLogoutPacket pack;
    
    		strlcpy(pack.login, pTab->login, sizeof(pack.login));
    		db_clientdesc->DBPacket(HEADER_GD_LOGOUT, dwHandle, &pack, sizeof(pack));
    		return;
    	}
    
    	if (strcmp(pTab->status, "OK"))
    	{
    		sys_log(0, "CInputDB::LoginSuccess - status[%s] is not OK [%s]", pTab->status, pTab->login);
    
    		TLogoutPacket pack;
    
    		strlcpy(pack.login, pTab->login, sizeof(pack.login));
    		db_clientdesc->DBPacket(HEADER_GD_LOGOUT, dwHandle, &pack, sizeof(pack));
    
    		LoginFailure(d, pTab->status);
    		return;
    	}

    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ț

    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

    • Subiecte similare

      • de DEVE » » în FIX-uri
        0
        Răspunsuri
        74
        Vizualizări
        de DEVE
      • de Ene » » în FIX-uri
        0
        Răspunsuri
        629
        Vizualizări
        de Ene
      • de Ene » » în FIX-uri
        0
        Răspunsuri
        596
        Vizualizări
        de Ene
      • de Ene » » în FIX-uri
        0
        Răspunsuri
        625
        Vizualizări
        de Ene
      • de backtrace » » în FIX-uri
        1
        Răspunsuri
        1200
        Vizualizări
        de yma03781

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: DEVE, Manianu și 2 vizitatori

    Discord ID copiat: