Zasady działania botów w grach MMO, sposoby ochrony przed nimi i omijania zabezpieczeń
Wprowadzenie: Czym są boty? Kto używa botów? Jakie typy botów wyróżniamy? Sposoby ich wykrywania. Sposoby unikania wykrycia.
Trend w grach Coraz więcej gier umożliwia legalną sprzedaż przedmiotów innym graczom. Boty wykonując za nas czynności ułatwiają zarabianie.
Kto używa botów 1) zwykli gracze - opłacenie GT (game time) 2) gracze którzy lubią grać w trybie "GodMode" 3) RMT - osoby które sprzedają hurtowo lokalną walute
Dlaczego twórcy nie lubią botów? 1) zużywają zasoby serwera 2) utrudniają gre innym 3) psują ekonomie 4) mają więcej kapitału niż przeciętny gracz 5) RMT - zmniejsza dochody twórców
Rodzaje botów 1) Wspomagające gracza - automatyczne celowanie - automatyczne leczenie - etc. 2) Zastępujące gracza - wszystko robi bot, ingerencja człowieka jest niepotrzebna lub minimalna
Typy botów 1)Pixel recognition - do gier z "regularnym gui" Zalety: - trudny do wykrycia Wady: - trudny do aktualizacji - nie można korzystać z komputera (chyba, że używamy VM)
Typy botów: 2) Injection - działa w każdym przypadku (używane techniki: CreateRemoteThread, SetWindowsHookEx, Code Cave(VirtualAllocEx) Zalety: - można używać wielu botów jednocześnie - bot prostszy do implementacji - prostsze testowanie Wady: prostszy do wykrycia
Typy botów 3) Proxy - nasłuchiwanie połączenia z klienta Zalety: - łatwe blokowanie wysyłania raportów. - można korzystać z wielu botów jednocześnie Wady: - trudny w aktualizacji (w przypadku zmiany protokołu) - potencjalnie prosty do wykrycia (modyfikuje adres IP serwera - w przypadku szyfrowania trzeba je złamać
Typy botów 4)packet sender (tak naprawdę nie bot) Zalety: - prosty do prostych zadań Wady: - brak możliwości edycji pakietów gdy protokół jest szyfrowany - tylko jako wspomagacz
Sposoby zabezpieczania przed botami: - pixel recognition - zmienny interfejs - injection - CreateRemoteThread - LoadLibrary Hook) - SetWindowsHookEx - j/w - CodeCave - nieznana - proxy - duplikacja danych - osobny proces - szyfrowanie danych - packet sender - iterowanie pakietów.
Sposoby wykrywania botów 1) inni gracze, 2) czas spędzony online 3) "efektywność gry" 4) czas reakcji 5) wzory zachowań 6) sprawdzanie czy istnieje proces XYZ 7) sprawdzanie czy została wstrzyknięta biblioteka lub kod
Sposoby wykrywania botów 8) powiązania pomiędzy botami: - dane osobowe - transakcje pomiędzy postaciami - lokalizacja z której jest połączenie - płatności z tego samego źródła
Sposoby banowania 1) Konto (cd-key) 2) lokalizacja (adres IP) 3) sprzęt (hardware id) 4) powiązania pomiędzy botami Inne kary: - zaznaczenie postaci(informowanie o tym że postać oszukiwała) - kary finansowe (w grze) - cofanie transakcji(w grze) - przekierowanie na puste serwery
Metody unikania banów. 1) Socjotechniczne - branie udziału w eventach - posiadanie unikalnych nicków - dołączenie do gildi - interakcja z innymi graczami - odpowiedni wybór lokacji - częsta zmiana lokacji w grze - unikać dominacji w grze - zrezygnować z RMT - nie botować afk - najlepszą obroną jest atak: wynająć najemników
Metody unikania banów. 2) Techniczne - po aktualizacji sprawdzać protokół - ukrywać wstrzyknięte biblioteki - udawać prawdziwego gracza (nie być szybszym ani dokładniejszym niż on) - unikać wzorców zachowań - ograniczyć czas online - starać się zmieniać interwały wykonywanych czynności - zaimplementować chat-bota - 1 IP na 1 klienta(vpn) - fałszować identyfikator komputera - nie korzystać z wirtualizacji - używać alarmów
Jak przeżyć w grze 1) zapas hp 2) nie walczyć do śmierci 3) nie denerwować innych graczy 4) lista celów (priorytety) 5)unikać stref pvp 6) unikać walki pvp (o ile można uciec)
Techniki symulacji AI 1) prosty switch 2) algorytm stadny (rozdzielczość, wyrównanie, spójność, unikanie) 3) maszyna stanów 4) drzewa decyzyjne 5) wyszukiwanie drogi A* 6) logika rozmyta 7) sztuczne sieci neuronowe 8) systemy ekspertowe
Poruszanie się 1) waypointy 2) A*