Skocz do zawartości
Opublikowano

 

AntiCheat - RudiAC 💯
______________________________________________________

Antycheat używany w ramach projektu zleconego w 2018 roku. Wiele zachowań i funkcji jest okolicznościowych. Celem projektu było podłączenie antycheata po stronie klienta do starego prywatnego serwera gry, który już miał pewne moduły zabezpieczeń firm trzecich, co skutkowało antycheatem z zauważalnymi wyjątkami od dziwnego zachowania.

 

Podstawy
Sprawdzanie integralności pamięci Zbiera kolekcję stron pamięci początkowo w obrębie modułu gry (anticheat::cheat_monitor::init) i generuje skrót CRC32 na podstawie zawartości pamięci każdej strony (calc_vpt_hashes) - każdy zweryfikowany w każdym cyklu (anticheat::cheat_monitor::check_pages).

Blokowanie wątków
Przechwytuje funkcje RtlUserThreadStart i sprawdza, czy wyznaczony adres wykonania wątku mieści się w prawidłowych granicach pamięci. W tym przypadku jest to tzw. "tylko dla obrazu" (image-only execution), gdzie tylko wątki w głównym obrazie (oraz niektóre inne wyłączone obrazy, takie jak ucrtbased.dll) mogą być uruchamiane. Jeśli wątek działa poza tymi granicami, zostaje uznany za szkodliwy w nieprawidłowej przestrzeni wykonawczej. To również uniemożliwia dołączenie debuggerów do procesu, ponieważ funkcja RtlUserThreadStart jest wykonywana przed wywołaniem DbgUiRemoteBreakIn, które wykonuje się poza bezpiecznymi granicami.

Pułapki pamięciowe
Pułapki pamięciowe są tworzone w ramach rutyny inicjalizacyjnej, gdzie strony pamięci jeszcze nie są dostępne, ale gdy są (co nie powinno mieć miejsca), zostaje to wykryte. Zapobiega skanerom "oszustw".
 

Anty-Debugowanie
Sprawdza PEB bezpośrednio (zamiast korzystać z IsDebuggerPresent, które łatwo można sprawdzić) pod kątem wartości flagi BeingDebugged oraz wartości NtGlobalFlag. Jednak podatne na bezpośrednią modyfikację flagi BeingDebugged w celu obejścia tego sprawdzenia. DbgUiRemoteBreakIn jest blokowane, ponieważ wątki debugujące nie mogą być wykonane w procesie (DebugActiveProcess wykonuje wątek wewnątrz procesu, ale nasz proces ma sprawdzanie granic pamięci, uproszczone, gdy mowa o skanowaniu wątków.)

Do zrobienia: Wykrywanie arbitralnego obsługiwania wyjątków wektorowych (TBA: Arbitrary Vectored Exception Handling Detection).

Chronione funkcje
Podobne koncepcyjnie do sprawdzania integralności pamięci, ale specjalnie wykrywa, czy rutyny Winsock oznaczone jako "chronione" są przechwytywane/modyfikowane, uniemożliwiając modyfikację pakietów w trybie użytkownika i odczyt przez oprogramowanie takie jak WPE Pro i rPE.
 

Skaner procesów
Skanuje każdy proces na podstawie zawartości (nazwa procesu, nazwa okna) i unikalnej sygnatury pamięci. Wiele z tych podstawowych informacji na temat zostało opisane tutaj:

🔐 Ukryta Treść 🔐
 

Skaner modułów
Skanuje załadowane moduły w procesie pod kątem tych o zablokowanych nazwach.

_________________________________________________

W ZAŁĄCZNIKU ZAŁĄCZAM CAŁY PLIK !
🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

Featured Replies

Opublikowano

No proszę, konkretny temacik wleciał, dzięki. 

Opublikowano

dzięki

Opublikowano

Dzięki wielkie !

 

Opublikowano

Ktoś testował?

  • 4 tygodnie później...
Opublikowano

Brzmi ciekawie

  • 2 tygodnie później...
Opublikowano

Ciekawe jak to dziala w praktyce

  • 2 tygodnie później...
Opublikowano

Dzięki

  • 3 miesiące temu...
Opublikowano

przyda sie

Opublikowano

dzięki

  • 2 tygodnie później...
Opublikowano

dzięki

  • 5 miesięcy temu...
Opublikowano

ty

Opublikowano

Czy możesz nam powiedzieć, jak to zainstalować

  • 2 miesiące temu...
Opublikowano
W dniu 16.11.2024 o 21:18, tmknkben napisał(a):

Czy możesz nam powiedzieć, jak to zainstalować

Normalnie kolega kopiuj wklej i ogień  a tak ogolnie to gitara dobre to masz dziękować 

Edytowane przez WuGie

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...