» Logowanie do konta GTAthegame

W poniższe pola wpisz swój Login i Hasło używane do autoryzacji w serwisie GTAthegame. Jeśli wiesz, że posiadasz konto jednak nie pamiętasz hasła kliknij w link Przypomnij moje hasło. Jeśli jeszcze nie masz u nas własnego konta możesz je utworzyć klikając w link Zarejestruj się.
Login:
Hasło:

Hush hush

sdr napisał 18 lutego 2024 o 18:41, komentarze zablokowane
Wszyscy wiemy jak działają kody w serii Grand Theft Auto. Co, że niby nie używacie? Taa, jasne ;) A wiecie jak to jest, że gra rozumie co jest kodem, a co nie?

GTA: Vice City - cheat activated

Zanim Obbe Vermeij zdecydował się usunąć większość postów ze swojego bloga, pojawiło się na nim kilkanaście bardzo ciekawych wpisów. W najbliższych tygodniach będę przytaczał tutaj poruszone w nich tematy. Szkoda żeby utonęły w odmętach internetu.

Aby aktywować cheata w dowolnej trójwymiarowej części serii GTA, wystarczy zacząć wstukiwać określoną kombinację na kontrolerze lub klawiaturze. Jeśli nie pomylimy kolejności przycisków, po wciśnięciu ostatniego w sekwencji, gra aktywuje kod. Zostanie to również potwierdzone przez wyświetlenie na ekranie stosownego komunikatu.

Na komputerach kody są o tyle specyficzne, że mogą składać się z ciągów liter układających się w konkretne słowa. I tak dla przykładu możemy wpisać ILOVESCOTLAND by zaczął padać deszcz lub GUNSGUNSGUNS by uzbroić się po zęby.

Gra zapamiętuje zawsze około dwudziestu ostatnich naciśniętych przycisków/klawiszy i porównuje je z listą cheatów. W razie dopasowania następuje aktywacja kodu. Najprościej byłoby porównywać ciągi bezpośrednio, ale przez to lista dostępnych cheatów byłaby bardzo prosta do odczytania z pamięci urządzenia. Pierwszy lepszy haker mógłby odkryć i udostępnić wszystkie kody w dniu premiery gry. Z tego powodu, zamiast zapisywać kody otwartym tekstem, Obbe zdecydował się wykorzystać skróty.

Skrót to liczba obliczona na podstawie tekstu, np. z wartości ASCII przypisanej do każdego znaku. W prostym algorytmie wartości te można by do siebie dodawać. W ten sposób skrót dla ciągu ILOVESCOTLAND wyniesie 983, a dla GUNSGUNSGUNS - 951. Następnie tak samo obliczamy skrót dla ostatnich dwudziestu znaków i porównujemy wynik z listą. To oczywiście tylko przykład. W rzeczywistości algorytm jest bardziej skomplikowany.

To rozwiązanie spełniło swoje zadanie. Dostępne kody nie zostały szybko odkryte, a ludzie trafili na nie dopiero z czasem, próbując wprowadzać losowe ciągi. Wtedy okazało się jednak również, że podejście zastosowane przez Obbe nie jest idealne. W sieci zaczęły pojawiać się działające kody, które nijak nie przypominały tych faktycznie ustalonych przez twórców. Przykładowo HDLMAAXOPK daje taki sam efekt jak ILOVESCOTLAND.

Problem wynikał z tego, że skróty obliczane przez algorytm powtarzały się dla różnych ciągów. Wracając do naszego przykładu, nie ma przecież znaczenia w jakiej kolejności dodamy do siebie wartości ASCII. Tak samo, różne zestawy liczb po zsumowaniu mogą dać ten sam wynik. To była przyczyna całego zamieszania.