Skocz do zawartości

Naprawa krytycznego błędu w funkcji 'MoveItem', zapobiegając duplikacji przedmiotów

Featured Replies

Opublikowano

bugfix.webp.0a739ad15af71c44f5367650b6c9e164.webp

 

Cześć,

 

Wprowadzenie

Istnieje krytyczny błąd w funkcji obsługującej przenoszenie przedmiotów w ekwipunku. W pewnych specyficznych sytuacjach umożliwia on duplikację przedmiotów. Problem pojawia się, gdy gracz rozdziela przedmiot na mniejsze ilości i następnie próbuje umieścić nowo utworzony przedmiot z powrotem na pierwotnym miejscu w ekwipunku. Chociaż przedmiot staje się niewidoczny w interfejsie klienta, w rzeczywistości nadal istnieje w bazie danych. To prowadzi do sytuacji, gdzie po przeniesieniu się na inny kanał lub ponownym zalogowaniu, gracz może sklonować przedmiot.

 

Co więcej, ten błąd może powodować niewielkie wycieki pamięci na serwerze, co stanowi zagrożenie dla jego stabilności. Wykorzystanie tej luki wymaga zaawansowanej wiedzy i odpowiednich narzędzi. Niemniej jednak istnieją pewne systemy, takie jak system zmiany kanałów, które mogą ułatwić graczom wykorzystanie tego błędu.

 

Sposób naprawy

Rozwiązanie tego problemu polega na dokładnym sprawdzeniu, czy źródło i docelowe miejsce przedmiotu w funkcji "MoveItem" są takie same.

Jest to błąd wymagający natychmiastowej naprawy!

 

Udało mi się znaleźć przedstawienie tego błędu:

W tym przypadku został użył użyty specjalny skrypt wykonujący powyżej opisaną akcję. 

Spoiler

image.gif.9a85c461421d3ea8c2b82f5286a6bc35.gif

 

Implementacja:

📁 Lokalizacja pliku: 'common -> length.h'

 

 🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

 🗒️Podgląd implementacji:

🔐 Ukryta Treść 🔐

 

📁 Lokalizacja pliku: 'game -> char_item.cpp'

 

 🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

 

 📁 Lokalizacja pliku: 'game -> safebox.cpp'

 

 🔍 Szukaj

🔐 Ukryta Treść 🔐

 

  Dodaj

🔐 Ukryta Treść 🔐

 

  • Sevence zmienił(a) tytuł na Naprawa krytycznego błędu w funkcji 'MoveItem', zapobiegając duplikacji przedmiotów
Opublikowano

Mega robota ! jestem wdzięczny za udostępnienie tego 🙂

  • 2 tygodnie później...
  • 2 tygodnie później...
  • 3 tygodnie później...
  • 1 miesiąc temu...
  • 3 miesiące temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...