Administrator
Administrator
  • Mesaje: 4795
    Membru din: 07 Aug 2024, 21:53
  • Reacții: 115427
  • Mesaje utile: 46
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Metin2 Buffer & Packet Security Fix – Protecție Network

    Acest fix îmbunătățește securitatea și stabilitatea sistemului de buffer și a pachetelor de rețea din Metin2. Sunt adăugate mai multe verificări pentru dimensiuni invalide, overflow-uri, citirea datelor și procesarea pachetelor dinamice.
    - blochează lungimile negative și dimensiunile invalide;
    - previne citirea în afara datelor existente în buffer;
    - adaugă verificări pentru overflow la alocarea memoriei;
    - reutilizează spațiul consumat din buffer înainte de realocare;
    - validează pachetele dinamice și pachetele HybridCrypt;
    - adaugă verificări suplimentare pentru Guild Mark și Symbol Data.

    *Link download / Code:

    Deschide libthecore/src/buffer.c si cauta:
    Code:
    void buffer_realloc(LPBUFFER& buffer, int length);
    Adauga dedesubt:

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


    Cauta in ambele functii buffer_get_pool_index si buffer_get_exac_pool_index:
    Code:
    for (i = 0; i < 32; ++i) {
    Inlocuieste in ambele cu:

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


    Cauta:
    Code:
    LPBUFFER buffer_new(int size)
    Adauga la inceputul functiei:

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


    Cauta:
    Code:
    void buffer_write(LPBUFFER& buffer, const void *src, int length)
    Inlocuieste toata functia cu:

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


    Cauta:
    Code:
    void buffer_read(LPBUFFER buffer, void * buf, int bytes)
    Inlocuieste toata functia cu:

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


    Cauta aceste trei functii:
    Code:
    buffer_byte
    buffer_word
    buffer_dword
    Inlocuieste-le cu:

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


    Cauta:
    Code:
    void buffer_read_proceed(LPBUFFER buffer, int length)
    Asigura-te ca functia incepe cu:

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


    Cauta:
    Code:
    void buffer_write_proceed(LPBUFFER buffer, int length)
    Inlocuieste toata functia cu:

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


    Cauta:
    Code:
    void buffer_adjust_size(LPBUFFER& buffer, int add_size)
    Inlocuieste toata functia cu:

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


    Cauta:
    Code:
    void buffer_realloc(LPBUFFER& buffer, int length)
    Inlocuieste toata functia cu:

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



    Deschide EterLib/NetStream.cpp si cauta:
    Code:
    void CNetworkStream::SetRecvBufferSize(int recvBufSize)
    void CNetworkStream::ReleaseRecvBuffer()
    Inlocuieste ambele functii cu:

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


    Cauta:
    Code:
    void CNetworkStream::SetSendBufferSize(int sendBufSize)
    Adauga la inceputul functiei:

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


    Dupa m_sendBuf si m_sendTEABuf adauga:

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


    Cauta in CNetworkStream::CNetworkStream:
    Code:
    m_sendTEABuf
    Foloseste:

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


    Cauta:
    Code:
    bool CNetworkStream::Peek(int size)
    Adauga la inceput:

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


    Cauta:
    Code:
    bool CNetworkStream::Peek(int size, char * pDestBuf)
    Adauga la inceput:

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


    Cauta:
    Code:
    bool CNetworkStream::Send(int size, const char * pSrcBuf)
    Inlocuieste validarea cu:

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


    Cauta toate aparitiile:
    Code:
    if (recvSize < 0)
    din __RecvInternalBuffer si foloseste in toate cele trei cazuri:

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



    Deschide UserInterface/PythonNetworkStream.cpp si cauta:
    Code:
    TDynamicSizePacketHeader DynamicSizePacketHeader;
    Adauga imediat dedesubt:

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



    Deschide UserInterface/Packet.h si cauta:
    Code:
    SPacketGCHybridCryptKeys
    SPacketGCHybridSDB
    Foloseste in locul constructorilor existenti:

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



    Deschide UserInterface/PythonNetworkStreamPhaseHandShake.cpp si cauta:
    Code:
    bool CPythonNetworkStream::RecvHybridCryptKeyPacket()
    Inlocuieste toata functia cu:

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


    Cauta:
    Code:
    bool CPythonNetworkStream::RecvHybridCryptSDBPacket()
    Inlocuieste toata functia cu:

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



    Deschide UserInterface/AccountConnector.cpp si cauta:
    Code:
    bool CAccountConnector::__AuthState_RecvHybridCryptKeys(int iTotalSize)
    Inlocuieste toata functia cu:

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


    Cauta:
    Code:
    bool CAccountConnector::__AuthState_RecvHybridCryptSDB(int iTotalSize)
    Inlocuieste toata functia cu:

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


    Cauta in CAccountConnector::__AnalyzeVarSizePacket:
    Code:
        TDynamicSizePacketHeader dynamicHeader;
        if (!Peek(sizeof(dynamicHeader), &dynamicHeader))
            return true;
    Adauga imediat dedesubt:

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



    Deschide UserInterface/GuildMarkDownloader.cpp si cauta:
    Code:
    __LoginState_RecvMarkBlock
    Adauga dupa header:

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


    Inainte de bucla pentru block-uri adauga:

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


    Valideaza fiecare block comprimat cu:

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


    Dupa bucla adauga:

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


    Cauta:
    Code:
    __LoginState_RecvSymbolData
    Adauga inainte de header:

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

    Nou 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)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    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
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature

    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 SystemPolaris » » în FIX-uri
        1
        Răspunsuri
        246
        Vizualizări
        de sub7
      • de Andi » » în FIX-uri
        0
        Răspunsuri
        767
        Vizualizări
        de Andi
      • de SCOOB » » în FIX-uri
        0
        Răspunsuri
        589
        Vizualizări
        de SCOOB
      • de DEVE » » în FIX-uri
        0
        Răspunsuri
        591
        Vizualizări
        de DEVE
      • de SCOOB » » în FIX-uri
        2
        Răspunsuri
        1201
        Vizualizări
        de Reizo

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: g34sslol, marcos_impacto, proximity_gg și 1 vizitator

    Discord ID copiat: