[C++ FIX] BUFFER & PACKETS

Avatar utilizator
SystemPolaris
Nou Venit
Nou Venit
Mesaje: 4
Membru din: 25 Aug 2026, 12:20
Server: POLARIS
Regat: Shinsoo
Aprecieri: 0
Mulţumiri: 0
Discord: Copiază ID
Medalii

Hopefully this can help some people :)
What it fixes?

* Negative lengths can no longer move read/write pointers backwards.

- Invalid lengths cannot reach memcpy/memmove.
- Reads cannot copy more bytes than the live buffer contains.
- Integer addition is checked before computing a new allocation size.
- Consumed space at the front is reused before growing the allocation.
- Reallocation copies live bytes only, reducing unnecessary copying.
- The pool-index loop avoids signed `1 << 31` undefined behaviour.


File > libthecore/src/buffer.c

Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this directly below it:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search inside both buffer_get_pool_index and buffer_get_exac_pool_index :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace both with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this at the start of the function:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace the complete function with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace the complete function with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for these three complete functions :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace them with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Make sure the function starts with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace the complete function with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace the complete function with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace the complete function definition with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > EterLib/NetStream.cpp

Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace both complete functions with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this at the start of the function:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this after the m_sendBuf and m_sendTEABuf allocations:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search inside CNetworkStream::CNetworkStream :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Use these three initializers:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this at the start:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this at the start:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Replace its validation/copy beginning with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for every "if (recvSize < 0)" inside :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Use this in all three receive branches:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > UserInterface/PythonNetworkStream.cpp

Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this directly after it:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > UserInterface/Packet.h

Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Use these instead:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > UserInterface/PythonNetworkStreamPhaseHandShake.cpp

Search for :
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Replace the complete function with:
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Search for :
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Replace the complete function with:
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > UserInterface/AccountConnector.cpp

Search for :
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Replace the complete function with:
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Search for :
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Replace the complete function with:
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Search inside CAccountConnector::__AnalyzeVarSizePacket :
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.

Add this directly below it:
Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


File > UserInterface/GuildMarkDownloader.cpp

Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this after the initial fixed-header Peek:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this before the block loop:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Validate each compressed block with:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this after the loop:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Search for :

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.


Add this before subtracting the fixed header:

Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.
Imagine
Afișează semnătura
Răspunde
Răspunsuri
6
Vizualizări
650
Răspunsuri
3
Vizualizări
414

Înapoi la “Securitate și protecție hackuri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator