W jaki sposób hackuje się gry komputerowe?

0

Witam
Interesuję mnie pewna kwestia dot gier. Z tego co wiem aby zhackować grę trzeba po prostu
w czasie gameingu szukać odpowiednich adresów w pamięci które odpowiadają bezpośrednio za życie
gracza lub poziom amunicji itp i jeżeli takowe znajdziemy możemy je zmienić na swoją korzyść . Jednak jak wiadomo przy każdym
uruchomieniu jakiegokolwiek programu są alokowane inne adresy na zasoby tego programu więc za każdym razem,
przy każdym uruchomieniu musielibyśmy szukać tych adresów, a w istocie istnieją programy,kody które odwołują się
za każdym razem do prawidłowych adresów. Jak te programy to wykonują, skąd wiedzą za każdym razem do jakich
adresów w pamięci się odwołać? Czy jest to może kwestia odwoływania się do rozkazów, które np zmniejszają życie gracza?

2
  1. Adresy mogą być różne, ale może tak być że zawsze mają tą samą pozycję względem czegoś. Np. jeśli adres początku stosu dla aplikacji to X to życie może być na X+100 bo tak akurat jest zadeklarowane w aplikacji.
  2. Można to robić na zasadzie pattern-matchingu - szukając w pamięci pewnych znanych konfiguracji bajtów, które wyznaczają nam blok pamięci który nas interesuje.
0

Kiedyś w o samurajach, gdzie zdobywało się stopniowo różne moce, siłę, itd.
po prostu zapisałem grę, jak to się zwykle robi, a potem zmieniłem to zapisane, dodając tam sobie tysiące punktów.

Potem tylko odczytałem, no i byłem już supermenem... :)

0

W wielu przypadkach wystarczy znaleźć plik z informacją z zapisem stanu gry.

Jeżeli masz np. 1150(047E) punktów a chciałbyś mieć 2250(08CA) to musisz znaleźć plik z zapisem stanu gry, otworzyć go hex-edytorem i znaleźć wartość 7E04(Little endian/Big endian) i podmienić ją na „CA08”. Ten sposób działa na wielu grach trzeba tylko umieć znaleźć plik z zapisem stanu gry. Plik z zapisem stanu gry znajdziesz łatwo przy użyciu „Process_Monitora”&”Process_Explorera”. Taki plik można również odnaleźć też przy użyciu np. „Total commandera” poprzez atrybut pliku „archiwalny”.

W starym „NFS Porsche” informacje o parametrach wszystkich samochodów przechowywane są w jednym katalogu. Każdy plik z informacją o danym aucie jest zaszyfrowany. Jeżeli jeździłeś samochodem „X” a chciałeś go „ulepszyć” to należało odnaleźć plik z informacją o X i podmienić zawartość pliku X z zawartością pliku Y(która zawierała konfigurację lepszego samochodu). Jeżeli jesteś bardzo ambitny to mogłeś odkryć algorytm szyfrowania informacji poprzez analizę pliku wykonywalnego(SoftICE, TRW2000, OllyDBG). Znając algorytm szyfrowania mogłeś sobie napisać w ANSI C/Delphi program kodujący/dekodujący.

W „NFS Hot Pursuit” informacje o parametrach samochodów nie są szyfrowane więc należy jedynie odnaleźć plik z konfiguracją danego auta i zmienić mu informację o masie auta(a = F/m);bardzo ciekawe doświadczenie….
Podałem na paru przykładach ale tak da się we wszystkich grach.

0

Sporo jest poradnikow na necie. Jesli cie temat zainteresuje, to nie jest to wszystko trudne. Wiadomo, poczatku sa trudne, ale potem wydaje sie wszystko bardzo proste. Jesli rozumiesz cos z Delphi to mozesz zobacz zrodla ShiityPlugin 2.0 https://github.com/mca64/mca64Launcher

Jest to hack to StarCrafta: Brood War. Wyswietla on czas gry, czat Twitcha itp

1 użytkowników online, w tym zalogowanych: 0, gości: 1