Autor Wątek: Zabezpieczenie serwera/ weryfikacja klienta  (Przeczytany 2457 razy)

Offline szefo

  • Użytkownik

# Lipiec 05, 2008, 18:29:44
Witam.

Chciałem się dowiedzieć jak to jest z zabezpieczaniem gier multiplayer przed tym, aby np. na cracku nie dało się grać;
i że do gry wymagany jest oryginalny serial. Chciałem to odnieść do przykładu COD4 oraz UT3. Słyszałem, że można
grać przez internet na cracku w UT3( nie wiem czy to prawda), aczkolwiek w COD4 jest to z tego co mi wiadomo
niemożliwe (natomiast w to gram trochę). I teraz mam pytanie, jak oni to robią ,że gra na cracku jest niemożliwa, a
właściwie nie niemożliwa tylko nie ma sensu robić go bo i tak trzeba mieć oryginalny serial(oczywiście pomijam pirackie serwery).
Interesuje mnie to z tego względu, że jestem autorem pewnego programu napisanego w c#, który ma zaimplementowaną autoryzację
użytkownika, która odbywa się poprzez web service i cała moc mojego systemu polega na tym, że wszelkie dane od klienta do serwera
i na odwrót są szyfrowane oraz klient jest dość dobrze zabezpieczony przez crackowaniem, ale tak sobie zdałem sprawę, że jeżeli ktoś
jednak złamie program to może pominąć wszelkie kody ich sprawdzanie i uzyska nielimitowany dostęp do programu, a z drugiej strony plik
exe COD4 od mp wydaję się być niezabezpieczony niczym, czyli przeszkód dla ewentualnego crackera nie ma, a mimo to nie da się grać na serwerach z piratem. Tak więc wiecie jak to z tym jest - jak oni to robią, znam c++ i c#, ale z racji takiego pytania starczą mi same pomysły lub ideologie oczywiście linki też będą przydatne na ten temat. Mam nadzieję, że jasno wyraziłem swój problem. Pozdrawiam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline misioslaw

  • Użytkownik
    • www.asmforce.eu

# Lipiec 05, 2008, 20:44:29
Autoryzacja jest realizowana od strony master servera, od którego są zależne wszystkie pozostałe serwery.

Zarówno w przypadku COD jak i UT na podstawie CD-Keya jest generowany  unikalny numer klienta. (można przyjąć że jest to zakodowany numer seryjny)

Wydawca gry wie jakie partie numerów zostały wprowadzone do sprzedaży i na terytorium jakiego kraju.

W momencie gdy klient łączy sie z serwerem tamten odpytuje master server  o to czy numer klienta jest legalny, jeśli otrzymuje odpowiedź negatywną to  odrzuca połączenie.

scrackowane serwery nie pytają o to tylko przyjmują wszystkich jak leci.
( w przypadku UT2003/2004 były emulatory master servera)

Rozwiązanie to jest w swej prostocie genialne. Masz pirata, to sobie graj z innymi piratami, z cheaterami i na własnych serwerach. Legalnym użytkownikom nie przeszkadzaj.



« Ostatnia zmiana: Lipiec 05, 2008, 21:04:06 wysłana przez misioslaw »

Offline szefo

  • Użytkownik

# Lipiec 06, 2008, 12:36:19
Acha - to już mam teraz jakiś obraz jak to działa, ale nadal mnie korci, bo rozumiem, że odrzucane jest połączanie, czyli klient ( exe) otrzymuje wiadomość odmowną, a co jeżeli ktoś znajdzie to miejsce w exe gdzie następuje odbieranie odpowiedzi z serwera i tak ją zmodyfikuje, że będzie pomijać wiadomość odmowną przez co umożliwi grę nawet na piracie( bo przecież gdzieś w kliencie jest kod który odpowiada za odbieranie wiadomości i reakcję w zależności od wiadomości), nie wiem czy dobrze myślę, bo musi być coś
co wyśle serwer czego nie da się zdobyć mając pirata i przez to umożliwia dostęp. I najważniejsze w tym wszystkim jest to , że teraz za
bardzo nie wiem jak takie coś zrealizować w zwykłym programie, może ktoś ma jakieś pomysły ?

Offline misioslaw

  • Użytkownik
    • www.asmforce.eu

# Lipiec 07, 2008, 00:09:52
Niby jak chcesz kontynuować zabawę po tym jak serwer zerwie połączenie ? :)
To Serwer Ci mówi że jesteś bee i sie z Tobą nie bawie, a raczej: Mama powiedziała że mam sie z Tobą nie bawić :D
 Tym czymś właśnie co wysyła serwer jest magiczne słowo Hang-up :D
Klient tu ma najmniej do gadania.
« Ostatnia zmiana: Lipiec 07, 2008, 00:13:24 wysłana przez misioslaw »

Offline szefo

  • Użytkownik

# Lipiec 07, 2008, 02:25:53
Tak właśnie masz rację teraz rozumiem dzięki za wytłumaczenie.