Jak zapobiec oszustwom modyfikującym pamięć?


10

Obecnie istnieje wiele programów zmieniających pamięć ( Cheat Engine & co). Czy istnieje skuteczny sposób, aby utrzymać stałą zmienną faktycznie stałą?

Miałem dwa pomysły:

  1. Utwórz osobny wątek aktualizując zmienną stałą do stałej wartości, np. 200 co minutę. Problem: Można również zmienić drugą wartość.
  2. Zapisz wartość na serwerze. Problem: Chcę utrzymać ruch sieciowy na jak najniższym poziomie.

Potrzebuję tego mechanizmu zarówno dla stałych, jak i zmiennych, które mogą zawierać tylko pewien zakres wartości.

Czy są lepsze sposoby na to?


1
Żaden z nich nie zadziała. W pierwszej sytuacji oszust musi po prostu nadpisać wartość „200”, którą kopiujesz, i nie jest to trudniejsze niż nadpisanie oryginału. W sytuacji 2 oszust może teraz zmienić wartość bez zmiany programu, po prostu zmieniając bajty odebrane w sieci (na przykład z lokalnego serwera proxy)
Jimmy

6
Nie widziałem jeszcze ochrony przed oszustwem, której haker nie może wyłączyć. Tylko upewnij się, że nie

1
Powiązane ; bardziej szczegółowe, ale poza tym to samo.
Anko,

1
Większość gier ma „Trenerzy”. Mam na myśli, do diabła, nawet Mass Effect: Andromeda ma trenera i jest dostępny tylko przez nieco ponad tydzień. Mówię, nawet się tym nie martw. Jeśli duże firmy z branży gier nie mogą tego uniknąć, to co sprawia, że ​​uważasz, że masz szansę?
Krythic

Odpowiedzi:


21

Jeśli twoja gra jest dla jednego gracza : nie jest to możliwe, ale nie powinieneś się tym przejmować .

Jeśli grasz w trybie wieloosobowym: powinieneś zapisać cały swój ważny stan na serwerze, który jest o wiele trudniejszy do zhakowania niż komputer lokalny.


4
Bardzo łatwo jest zabezpieczyć się przed oszustwami dla wielu graczy, tworząc autorytatywny serwer i przewidując stan tylko po stronie klienta. Zasadniczo po prostu wyślij dane odtwarzacza od klienta na serwer, a nie „wyrządziłem xszkodę y”.
jmegaffin

Rzeczywiście @BorealGames, mam na myśli to, że „przechowuj wszystkie ważne stany na serwerze”.
jcora

Chciałem tylko trochę wyjaśnić :)
jmegaffin

11

Nie można tego zrobić , https://security.stackexchange.com/a/4639 dotyczy DRM, ale to samo dotyczy wszystkiego, czego użytkownik nie chce na swoim komputerze, w tym mechanizmów Anti-Cheat. (Które ma tendencję do bycia jeszcze trudniejszym do zrobienia niż DRM.)

Ale dlaczego tak naprawdę dlaczego? To twój komputer klienta, a nie twój, klient robi ze swoim komputerem, co zechce z tym zrobić. Nie masz do tego żadnych praw. Twój program zostanie usunięty, jeśli klientowi się to nie spodoba.

W przypadku gier wieloosobowych nie chodzi o zaprojektowanie uruchomionego pliku binarnego, ale o zaprojektowanie komunikacji. Pozwalanie użytkownikom po prostu wysłać „Wygrałem z 20000 punktami” nie działa, podobnie jak „Mam 2000 złota” . Musisz sam zasymulować grę i po prostu pozwolić graczom wysłać to, co robią, na przykład „Rozkazałem żołnierzowi przenieść się do punktu X / Y” lub „Kupiłem przedmiot nr 43” , a nie wynik tego działania są. Serwer decyduje, jakie są wyniki i kto ostatecznie wygrał.

Jeśli jest to gra dla pojedynczego gracza z najlepszym wynikiem online, opcją byłoby wysłanie przez gracza powtórki, jej zasymulowanie i wybranie z tego wyniku.


11
Mała sugestia korekty: Klient nie powinien wysyłać „Kupiłem produkt o numerze 43”, ale „Chcę kupić produkt o numerze 43”. Serwer powinien wtedy odpowiedzieć „OK, przegrywasz 200 GP, zyskujesz jeden przedmiot43”, „Nie, nie masz wystarczającej ilości złota” lub „Nie, sklep, który aktualnie przeglądasz, nie ma numeru 43”. Serwer powinien zachowywać się jak mistrz gry RPG na pióra i papier. Gracze mówią, co chcą zrobić, a serwer informuje ich, czy im się uda.
Philipp

Nie jestem też pewien, czy zmienię używaną pamięć komputera osobistego, ale zmieniam plik binarny samej gry (nawet jeśli jest ona zainstalowana na twoim komputerze), zwykle jest niezgodny z umową licencyjną użytkownika oprogramowania i może być dodatkowo zdefiniowany w przepisach dotyczących praw autorskich itp.
lozzajp

Nie oznacza to, że naruszenie umowy EULA, cyfrowego odpowiednika jaywalkingu, nigdy nikogo nie powstrzymało.
jkmartindale

3

Pierwszy nie jest skuteczny i nie powstrzyma żadnej zdeterminowanej osoby przed atakiem twojej gry - a także jest podatny na błędy. Możesz jednak uczynić to o wiele trudniejszym , a nie pełnym dowodem , jeśli chcesz. Niektóre popularne strategie są dostępne w Internecie, ale jak wspomnieli inni ludzie - musisz zadać sobie pytanie, czy warto.

Dla uzasadnienia, oto kilka sposobów, aby zapobiec hakowaniu w środowisku dla jednego gracza:

  1. Otwórz dojście do każdego innego procesu na komputerze użytkownika (inwazyjny i nieprzenośny) i przepisz ich WriteProcessMemory za pomocą fałszywej funkcji lub ostrzeżenia. Wybór nalezy do ciebie. Można to pokonać, ponieważ ... aplikacje mogą robić to samo i ponownie nadpisywać uchwyt lub robić rzeczy, aby temu zapobiec.
  2. Suma kontrolna aplikacji i sprawdzenie jej przez osłonę hakerską - jest to przydatne w przypadku wielu stałych edycji aplikacji, ale nie powstrzyma zwykłego ataku pamięci. Można to pokonać, ponieważ ... narzędzia takie jak ADA, OllyDbg, a nawet proste edycje szesnastkowe mogą wprowadzać trwałe poprawki i zmiany w aplikacji w celu usunięcia niepoprawnego kodu - dotyczy to także pomysłu na licznik wątków!
  3. Wyszukaj znane narzędzia hakerskie. Można to również pokonać poprzez rekompilację narzędzia lub bezpośrednie zaatakowanie klienta. Można to pokonać, ponieważ ... rekompilacja, zmiana nazwy aplikacji lub zmiana tego, co skaner używa jako heurystyki, uczyni to bezużytecznym. Rozważ użycie specjalnej części pamięci, z której korzysta aplikacja, jeśli zdecydujesz się na to.

Alternatywą jest oczywiście przechowywanie wszystkiego na serwerze i stworzenie serwera gry, który jest mistrzem. Jest to nie tylko drogie, wymaga konserwacji i wydłuża czas programowania ... fani nie są pod wrażeniem wdrażania popularnych gier, takich jak Diablo III . Lub tu. Należy jednak zauważyć, że w przypadku gry online typu RPG typu flash Adventure, takiej jak Adventure Quest, ten model działał jednak całkiem nieźle.

Nie mogę podać wielu wskazówek, jak wdrożyć tego rodzaju podejście, ponieważ jest ono bardzo szerokie, szerokie i wymaga dużo planowania. Podstawą do poznania jest to, że serwer decyduje o wszystkim, a klient jest jedynie konsolą wejściową i wyświetlającą.


3

Wiele osób używa tych programów do wyszukiwania partytury zapisanej w zmiennej np

int score = 10;

aby to zrobić, muszą znać wynik, zwykle z wyniku wyświetlanego w grze.

Myślałem, czy to pomogłoby ich odłożyć ...

public static float randomVal; // at start of level generate random float

private float 1a3sf5vhh4; //represents score

void hjgkkj4(int val) //add score method
{
   var 5vhh4 =  1a3sf5vhh4/randomVal+val;
   1a3sf5vhh4 =  5vhh4*randomVal;
}

wtedy gdy chcesz wyświetlić wynik, wykonaj ...

string displayScore = ""+ 1a3sf5vhh4/randomVal;

to sprawi, że oszustowie będą szukać tego, co według nich jest wynikiem (wynik jest wyświetlany), więc znajdą tylko wyświetloną wartość.

Rzeczywisty wynik to Wynik * randomVal przechowywany gdzie indziej. Nie mogą zmienić wyniku poprzez zmianę wyświetlanej wartości.

czy to pomogłoby?

ps Nie jestem ekspertem, więc wyluzuj mi lol.


Właśnie znalazłem ten film, robi kilka interesujących punktów ... youtube.com/watch?v=G25YhoE04Xc
Raimi

Narzędzia oszukiwania można skonfigurować tak, aby wykrywały takie rzeczy. Śledzenie zajmuje więcej czasu.
Kromster

ale czy w przypadku małej gry offline dla jednego gracza coś takiego byłoby dobrym rozwiązaniem? wygląda na to, że może przynajmniej zatrzymać kilka dostępnych aplikacji
Raimi

Tak, to tylko przypadek EffortSpent vs ProtectionAchieved, gdzie druga część nigdy nie może osiągnąć 100%.
Kromster

1
Losowe nazwy w kodzie źródłowym też nie pomogą, przynajmniej w większości przypadków. Program jest zwykle kompilowany do kodu IL / bajtowego lub bezpośrednio do
pliku

2

Jeśli chodzi o gry dla pojedynczego gracza , nie można zapobiec oszustwom i nie należy .


Dlaczego nie mogę zapobiec oszukiwaniu we własnej grze?

Jak wskazały inne odpowiedzi, nawet najlepsze wysiłki mogłyby zostać omijane przez jednego hakera i przekazane reszcie bazy graczy. Nadal można zrobić wysiłek przeciwko temu, ale spojrzeć na inne odpowiedzi na sugestie how . Ta odpowiedź oznacza zaoszczędzenie kłopotów, jeśli gra ma na celu zapewnienie rozgrywki dla jednego gracza.

Dlaczego powinienem pozwolić graczom oszukiwać w grze dla jednego gracza?

Cytując Sama ,

Poświęć więcej czasu na stworzenie świetnej gry, a mniej na zapobieganie psucia się własnej zabawy - proste.

To całkowicie mija się z celem . Gry są formą rozrywki . Ogólnie rzecz biorąc, twoja baza graczy gra w Twoją grę, aby się dobrze bawić . Jeśli gracz używa cheatów w grze, istnieje powód, dla którego używa cheatów. Można bezpiecznie założyć, że nie możemy zagwarantować definicji zabawy dla każdego gracza; jeśli używają kodów , być może jest to ich sposób na zwiększenie przyjemności z gry.

W jaki sposób oszustwo sprawia, że ​​gra jest przyjemniejsza?

Chociaż każda osoba jest wyjątkowa, istnieje kilka warunków, w których kody mogą sprawić, że gra będzie bardziej zabawna, z góry mojej głowy:

  • Gra jest trochę wolna, a gracz chce użyć kodów, aby wydobyć akcję, zanim zostanie całkowicie odłożona.
  • Gracz nie jest w stanie przejść określonego wyzwania; normalnie nie oszukaliby, ale są prawie skazani na frustrację. Mogą przestać grać w Twoją grę lub użyć kodu, aby ominąć przeszkodę i przejść do drugiej połowy gry.
  • Gracz nie może poświęcić czasu, jaki gra potrzebuje na zamierzone doświadczenie. Stosując kody, użytkownik może uzyskać „start startowy” i cieszyć się zamierzoną zawartością gry. Jeśli uważasz, że to nie brzmi wiarygodnie, zastanów się, że właśnie dlatego osobiście bardzo niewiele grałem w Fallout 4. Dla porównania, jest to jedyna gra, którą zamówiłem w ciągu ostatnich 5 lat, i jedyna gra, jaką kiedykolwiek zamówiłem i zakupiony na więcej niż jedną platformę. Kocham grę; Nie mam na to czasu.
  • W Twojej grze jest błąd , który powstrzymuje gracza przed dalszym postępem. Cheat omija błąd, więc gracz może grać dalej. Najnowsze gry Elder Scrolls są znane z tej sytuacji .

Dlaczego dotyczy to wyłącznie gier dla jednego gracza?

Należy podkreślić, że działa to tylko w grach dla jednego gracza ; jeśli gracz powie Ci, że chce używać kodów, aby mieć więcej zabawy w swojej grze, nie szkodzi. Gdy tylko w grze jest wielu graczy, wyczyny tego pierwszego gracza mogą stać się niesprawiedliwą wadą dla innych graczy. Jest to jedyna prawdziwa sytuacja, w której nie należy dopuszczać oszukiwania.


0

Do czego służy narzędzie hakowania pamięci?

Istnieją dwa sposoby obsługi narzędzia hakerskiego.

  1. Akceptuje albo znany adres, w którym przechowywane są zmienne odtwarzacza.
  2. Wprowadzasz zmiany do zmiennej, która skanuje pamięć w poszukiwaniu zmian.

Co możesz z tym zrobić?

  1. Możesz używać dynamicznie alokowanych zmiennych do przechowywania zmiennych odtwarzacza, aby adres ciągle się zmieniał podczas uruchamiania. Nie będzie żadnego stałego adresu, który witryna z kodami do wyświetlenia mogłaby wymienić.

  2. Zaszyfruj zmienne odtwarzacza: skalowanie wartości, dodawanie stałej itp. Daje to nowy problem: zapalony haker może zdemontować twój program i znaleźć liczby, których używasz do szyfrowania zmiennych odtwarzacza. W tym celu użyj liczb losowych. Możesz także przeskalować wartości zmiennych odtwarzacza, a następnie dodać liczbę losową, tak aby dodana liczba nie zmieniała w znaczący sposób wartości (dodanie 10 lub 20 do skalowanej wartości 2000 nie robi dużej różnicy).

Oczywiście niektórzy poważni hakerzy wciąż mogą znaleźć sposoby na pokonanie tych przeszkód, ale nie będzie to łatwe.

  std::default_random_engine myRNG;
  std::uniform_int_distribution<int> myDist_padding(10,100);
  class Player
  {
      public:
          Player()
          {
              Health = new float;
              Armor = new float;

              std::uniform_int_distribution<int> myDist_scale(1000,10000);
              scale = myDist_scale(myRNG);
          }
          float GetPlayerHealth() const;
          void SetPlayerHealth(float health);
      private:
          float *Health;
          float *Armor;
          int scale, constant;
  }

  //wrappers for Set/GetPlayerHealth
  void Player::SetPlayerHealth(float health)
  { 
      this->Health = health * scale + constant + myDist_padding(myRNG);     //random padding; adding 10 or 100 to a number that is scaled up by 1000 will cause an increase in 1%
      //1% of error is ok I guess?
  }
  int Player::GetPlayerHealth() const
  {
      return (this->Health - constant)/scale;
  }

Chociaż powyższy kod rozwiązuje kilka poważnych problemów, wciąż można go zgarnąć. Jedyną informacją, której potrzebuje haker, jest: dostęp do zmiennych gracza uzyskuje się za pomocą wskaźnika (mógł się również dowiedzieć poprzez dezasemblację gry, ale będzie to denerwujące i trudne). Gdy haker będzie miał adres do zmiennych gracza wraz z innymi tajnymi zmiennymi losowymi, będzie dla niego łatwym zadaniem opracowanie kodu.

Moim zdaniem bez demontażu nie można tak naprawdę napisać narzędzia hakerskiego dla takiego systemu. Wynik jest nieprzewidywalny, ponieważ będziesz dodawał losową liczbę do zmiennych gracza przy każdej modyfikacji. Zakres, w którym przechowywane są zmienne odtwarzacza, nie jest taki sam przy każdym uruchomieniu.

Co jeszcze możesz zrobić?

Od czasu do czasu zmieniaj adres zmiennych odtwarzacza. Czy to utrudnia czytelność kodu? Cóż, do pewnego stopnia, ale można wyodrębnić cały proces w jednej klasie, która ma dobrze wyjaśnione komentarze. Interfejs zapewniony przez klasę będzie miał proste funkcje Set / Get. Programista frontonu nie musiałby martwić się o złożoność.


0

Ekonomia:

Jeśli chcesz wzmocnić swoją grę przed oszustami, najlepszym sposobem jest zakup oprogramowania, które to zrobi za Ciebie. Istnieje kilku dostawców, a można znaleźć wielu z nich, przeglądając hasło „anti cheat psuje moją grę” .

Specjaliści są znacznie lepsi w zapobieganiu oszustwom niż ty i znacznie lepszym w nie przerywaniu gry niż ty (i nadal nie odnoszą sukcesu w 100% w żadnym z tych przypadków). Jeśli więc uważasz, że warto wprowadzić takie rozwiązanie w swojej grze, kup je. Robienie własnego będzie znacznie droższe.

Powiązane pytanie brzmi: „czy warto korzystać z oprogramowania do oszukiwania?”. Odpowiedź brzmi: nie, chyba że przyzwoita część gry opiera się na trybie rywalizacji online.


0

Jedynym sposobem na ochronę gry przed modyfikowaniem i edycją pamięci jest przejście do trybu ONLINE i przetwarzanie istotnych wartości po stronie serwera .

Być może możesz zaszyfrować wartości, aby edoity pamięci dla początkujących nie dotarły do ​​nich, ale wszystkie społeczności, takie jak Cheat Engine , GameGuarian dla Androida, ArtMoney, Game Hacker ect mają ludzi, którzy będą w stanie zhakować wszystko, co przetwarzasz - i pokaż innym, jak to zrobić lub opublikuj trenerów.

Moim zdaniem jest to bezcelowe staranie się odstraszyć oszustów. Również nie do końca uczciwe, ponieważ jest to ich urządzenie, a jeśli chcą w pamięci edytować rzeczy dziejące się na ich urządzeniu, dlaczego mielibyście je utrudniać? Ostatecznie klient jest królem.


0

Mam na myśli, że to nie takie trudne. Możesz zatrzymać 99% oszustów edycyjnych w pamięci (ci Game Guardian , Cheat Engine ect na dystans, po prostu mnożąc wartości. Nawet pomnożenie przez 10 w pamięci powstrzyma większość z nich.

Pamiętam, że wiele gier flash w ciągu dnia pomnożyłoby się przez 8 lub 6. Lub jeśli naprawdę mówisz o tym poważnie, napisz kilka kontroli lub zaszyfruj wartości w pamięci.


-2

Nie możesz - powtarzam, że nie możesz. Nie ma odpowiedzi na to pytanie, której dobry haker nie może cofnąć.

No i co z tego? Jeśli ktoś chce oszukiwać w twojej grze (zakładając, że nie wiąże się to z utratą lub osiągnięciem pieniężnym), kogo to obchodzi? Oszukują tylko siebie.

Poświęć więcej czasu na stworzenie świetnej gry, a mniej na zapobieganie psucia się własnej zabawy - proste.


Zmniejszone głosowanie, ponieważ uważam, że zabawa odgrywa ważną rolę w tej odpowiedzi, ale zostało całkowicie pominięte . Zamiast dalszych wyjaśnień przesyłam alternatywną odpowiedź.
Gnemlock

-3

Zaszyfruj to! Przechowuj ważne liczby podzielone w wielu lokalizacjach w połączeniu z innymi wartościami, aby stale się zmieniały! Użyj fałszywych numerów, które, jeśli zostaną zmienione, powiedzą im, że są oszustami.

Wszystko można złamać, ale większość nie poświęci na to czasu.


4
... a wtedy twój kod źródłowy będzie nieczytelnym, niemożliwym do utrzymania bałaganem. Powodzenia w znalezieniu błędu lub zmianie równowagi bez wysadzenia całej sprawy w powietrze.
Philipp

Gdybym musiał wdrożyć tę formę zapobiegania oszustwom, byłbym szczerze rozczarowany, gdyby hakerzy złapali mój zły plan i po prostu się poddali. Oznaczałoby to, że zmarnowałem czas nikogo oprócz własnego.
Marcks Thomas

@MarcksThomas Cóż, jeśli hakerzy się poddają, nie marnujesz czasu. W końcu to był cel, prawda?
Dan

Nie w pełni się z tobą zgadzam co do tego @Philipp - istnieją sposoby na utrzymanie kodu źródłowego w czystości, ale szyfrowanie kodu produkcyjnego, gdy opuszcza. W praktyce wiąże się to z szyfrowaniem i pewnymi liczbowymi, a zwłaszcza mambojambo synchronizacją i wątkami :-). Testujemy z niezmienionym kodem źródłowym, a jeśli wystąpi błąd w kodzie produkcyjnym, pozwalamy mu brutalnie ulec awarii (z niewielkim opóźnieniem, żeby być złym :-)). Mała zmiana gdzieś powoduje również to.
Stormwind,

Chciałbym głosować za najlepszą odpowiedzią w tym łańcuchu, ale chyba już to zrobiłem. Istnieje wiele matematycznych reguł, których nie można odtworzyć z powodu złożoności, a przede wszystkim czasu. Można na przykład oznaczyć aplikację pod kątem opóźnionego awarii lub pozwolić, aby jej wrażliwość zmieniła się w bezużyteczny (niemożliwy do odtworzenia) stan. Oczywiście musisz być tego dobrym powodem.
Stormwind,

-4

Sposób, w jaki sobie z tym radzę w grach online, jest taki.

Nie pomogę hakerom tak bardzo mnie znosić. Nie wspomnę o żadnych programach, których używam do tego. Musisz to rozgryźć. Jedynym sposobem, aby naprawdę ich powstrzymać, jest poznanie jednej rzeczy. Nie chcą, aby ich program hakerski został wykryty.

Do tej pory wszyscy użytkownicy hakerów / trenerów, których pokonałem. Twórca hacka umieści na nim detektor, aby sprawdzić, czy coś ogląda. Jeśli coś jest, to program hakera / trenera albo zamknie się automatycznie po ich zakończeniu, albo będzie działał tylko w połowie.

Na przykład w grze dirt 3 użytkownicy trenerów mogą automatycznie uruchomić samochód. Ale jeśli umieścisz wykrywacz na swoim końcu, wykrywacz wykryje go i zamknie część oszustwa. Nie wszystko z tego.

Jedyną częścią programu trenera, który widziałem w wyniku mojego wtrącania się, są super hamulce (idealne hamowanie) i spinout (utrata kontroli nad samochodem bez powodu). Jak widać, mam głównie gry wyścigowe. Wszystkie pochodzą od twórców kodu i niestety te gry są często wykorzystywane przez oszustów.

Wierzę, że jestem w stanie ich powstrzymać tylko ze względu na sposób, w jaki łączymy się ze sobą podczas gry. Jest to prawdopodobnie ten sam powód, dla którego mogliby spowodować ubytek normalnego gracza, który nie ma pojęcia o bezpieczeństwie.

Moją największą sugestią jest uzyskanie bardzo dobrego programu antywirusowego do zabezpieczania Internetu (Norton, Mcafee, Avast i wszystkie inne gówniane programy antywirusowe ci nie pomogą). Bądź gotów wydać od 50 do 90 USD na bardzo dobry av, którego nie wymieniłem, a następnie naucz się eksperymentować z nim, aby uzyskać efekt w grze online.

To wymaga dużo cierpliwości i wielu świnek morskich. Odniosłem z tym duży sukces, ale także wieloletnie doświadczenie w kontaktach z użytkownikami trenerów. Nie znam żadnego kodu. To nie ma z tym nic wspólnego. Część kodu jest zablokowana i nie można nic z tym zrobić. Można by pomyśleć, że możesz, ale po prostu nie można tak naprawdę zatrzymać tego, co robią.

Nadal możesz je banować za pomocą VAC, ponieważ Vac wykrywa podpisy i pewne zachowania oraz modyfikacje plików, o których już wie. Zakazuje tylko konta związanego z oszustwem.

Ale tak naprawdę nie zatrzymują oszustwa. Nie mogą się tym przejmować. Po prostu zbanowali twoje konto. Inna rzecz, o której chciałbym wspomnieć, dotyczy Wolfenstein ET. Bardzo stara gra. Ale dla mnie miał najlepszy i najostrzejszy ze wszystkich środków bezpieczeństwa.

Nigdy nie widziałem, jak to zrobili. Dałem im pomysł na to, co faktycznie powstrzymałoby oszustów i zasugerowałem jednemu z devoloperów jaymod, aby zakazał prowadzenia przez guid. Co ma łatwo dostępny przewodnik podczas grania w gry? Karty graficzne. Zaimplementowali to dlatego, że ludzie po prostu zmieniają adresy IP, a ty nie potrzebujesz konta do gry, więc możesz po prostu zmienić swoje imię i nazwisko, adres mac, który również zmieni adres IP.

Ale kiedy popełnili zakazy karty graficznej. Jeśli chcesz zagrać jeszcze raz, musisz otrzymać kartę RMA lub kupić nową. Ale to nie temat. To ma być o wykrywaniu, a ja poszedłem na styczną. Niestety nie gram teraz prawie tak często. Ale człowieku kochałem wszystkie moje świnki morskie. Zwłaszcza te z samochodów projektowych. Jedyna gra wyścigowa, która nie była kodemasterami. Ale wciąż wywoływane przez ten sam nonsens.


Widzę kilka problemów z tą odpowiedzią. 1. Format. Ze względu na strukturę jest trudny do odczytania, a ze względu na niespójność gramatyczną istnieją części, w których nie rozumiem, co masz na myśli. 2. Wygląda na to, że dużo mówisz na ten temat jako gracz grający przeciwko innym oszustom . Byłoby to istotne w przypadku Arqade , ale bardziej martwimy się tworzeniem gier . 3. Mówisz „nie używaj tych, o których wspomniałem”, w odniesieniu do antywirusa. Wspominasz o „Norton, mcafe, avast i wszystkich tych gównianych . To nie mówi nam, czego używać , zwłaszcza gdy wymieniasz niektóre z najwyżej ocenianych.
Gnemlock

Cały ostatni połowa wydaje się anegdota o tym, jak sądzę firmą gier wideo wziął swoją porady (wierzę udać się do wysiłku mówiąc nie jesteś pewien, jak jej zrobić, więc interpretować, że dalsze wyjaśnienie , jak to się robi koniecznością opierać się na spekulacjach , a nie faktach).
Gnemlock
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.