Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

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

Nieaktywny

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ść 🔐

 

Opublikowano

dobra robota !

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

Dziękuję za udostępnienie poprawki. Bardzo mi pomogła. 🔥👌

 

  • 3 miesiące temu...
  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.