Hack32 - Tutorial

13 grudnia 2008, 00:00 | 1607 odsłon | Jurek | a a a

Hack32 jest bardzo użytecznym programem. Pozwala on zmieniać pewne wartości liczbowe w locie tj. w trakcie działania aplikacji. Nie brzmi to może zbyt logicznie, ale zaraz uwidocznię to na przykładzie. Zakładamy, że gramy w pewną grę, w której jakaś wartość, np. poziom energii wyrażany jest liczbowo. W grze następuje dynamiczna zmiana tej wartości i gdy spadnie do zera ujrzymy, jakże piękny napis Game Over. Jednak jest pewien sposób, a raczej małe oszustwo by grę oszukać. Wystarczy, że odnajdziemy w pamięci gry adres komórki zawierającej interesujące nas dane np. wspomniany wyżej poziom energii już możemy cieszyć się z dalszej rozgrywki;) Osobiście jednak polecam pomęczyć się z grą, daje to o wiele więcej przyjemności i satysfakcji. Warto jednak, w celach treningowych poznać takie techniki, na podstawie których później możemy utworzyć swój własny trainer.

Trudności...

Jednak, żeby nie było zbyt kolorowo, możemy napotkać pewne trudności. Pierwsza (mniej groźna), to dynamiczny przydział pamięci. Przy każdym uruchomieniu aplikacji trzeba na nowo szukać adresu w pamięci. Druga (gorsza), polega na tym, że ciężko jest odnaleźć szukaną wartość w pamięci aplikacji, czasem jest to wina kodu aplikacji, czasem zabezpieczeń. Dlatego należy zaznaczyć (szczególnie dotyczy to nowszych, złożonych aplikacji), że zabawa z hack32 nie zawsze jest możliwa. Ale zawsze warto spróbować.

Przygotowania

Aby rozpocząć zabawę musimy przede wszystkim pobrać aplikację, można to uczynić wchodząc na podstronę działu download. Testy przeprowadzać będziemy na grze GTA 2 (obecnie dostępna za darmo i legalnie w Internecie, choćby na tej stronie). Gdy już zgromadzimy całe oprogramowanie, możemy zaczynać;)

Hack32 - okno programu

Po uruchomieniu programu, otrzymamy dość małe okienko (patrz screen 1). Na głównym planie widzimy 2 panele, oraz 7 przycisków. W lewym panelu wyświetlana jest liczba wszystkich adresów, które zawierają szukaną wartość, w prawym natomiast skupione są edytowane wartości. W dolnej części okna znajduje się 7 przycisków:
- Process - wybieramy proces, w którym poszukiwać będziemy wartości.
- New - wprowadzamy szukaną wartość.
- Next - wprowadzamy wartość, po zmianie.
- Load/Save - wczytujemy/zapisujemy wyniki pracy programu.
- Cancel - przerywamy aktualne wyszukiwanie.
- Exit - kończymy pracę programu.
Poszczególne opcje zostaną przedstawione w praktyce w kolejnych akapitach.

Zmiana wartości w GTA 2

Przystępujemy do działania. Uruchamiamy aplikację (w naszym wypadku jest to GTA 2), wchodzimy do gry i wybieramy wartość jaką chcielibyśmy zmienić (musi być ona wyrażana liczbowo). Ja wybrałem ilość pieniędzy. Zapamiętujemy wartość, następnie minimalizujemy grę i uruchamiamy program hack32. Wybieramy interesujący nas proces klikając na przycisk Process, w naszym wypadku jest to GTA 2 (uwaga w oknie procesów lista dla GTA 2 może być rozwijana, należy po raz kolejny wybrać opcję GTA 2). Następnie klikamy na przycisk New i wpisujemy wartość (w tym wypadku ilość amunicji). Program szuka wartości. W wyniku działania programu, otrzymamy całą listę adresów zawierających szukaną liczbę. Wśród nich znajduję się nasz docelowy;) Co zrobić, aby zmniejszyć te listę? Należy zmienić naszą wartość w grze np. wydać lub zarobić pieniądze. Wracamy do gry i zmieniamy wartość. Zapamiętujemy nową wartość, którą wykorzystamy w naszym programie. Jednak nie używamy teraz przycisku New, lecz Next, który służy do wpisywania kolejnych iteracji (zmian naszej wartości). Operację zmiany wartości powtarzamy dotąd, aż otrzymamy relatywnie mało adresów, najlepiej jeden. Ale uwaga! Czasem, za daną liczbę w grze odpowiada więcej adresów, w których zapisywana jest ta sama wartość. W takim wypadku najlepiej zmodyfikować wszystkie otrzymane adresy. Nasz kluczowy adres dostaniemy przeważnie w 3-4 iteracji. Gdy już otrzymamy to co chcieliśmy, czyli najlepiej jeden adres z komórką zawierającą naszą liczbę, naciskamy na strzałkę i przenosimy adres do drugiego panelu. Możemy tutaj zmienić nazwę wartości (description). Widzimy rónież adres, pod którym kryje się nasza wartość oraz przede wszystkim pole Value, gdzie wpisujemy wartość, którą chcemy uzyskać. I to jest w sumie cała magiczna sztuczka;). Możemy oczywiście wyszukiwać kolejne wartości. Aby to zrobić, powtarzamy całą prodcedurę (począwszy od wpisania wartości w oknie New) od nowa.

Wczytywanie/zapisywanie wartości

Możliwe jest oczywiście zapisywanie i wczytywanie uzyskanych adresów z pliku (co później może być źródłem do powstania trainera na bazie tych informacji, który można wykonać np. w programie Magic Trainer Creator). Aby zapisać wartości klikamy przycisk Save, natomiast aby wczytać, przycisk Load.

Podsumowanie

W tym dość krótkim tutorialu przybliżyłem praktycznie całą funkcjonalność programu hack32. Jak widać nie jest to zbyt rozbudowane narzędzie, ale do pewnych zastosowań nadaje się wręcz idealne. Program jest szybki i nie posiada niepotrzebnych, obciążających pamięć funkcji. Jeśli ktoś z czytelników, uważa że program Hack32 jest dla niego nie wystarczający, zachecam do zapoznania się z programem Magic Trainer Creator.

Komentarze

  1. Tomcio

    24 lutego 2008, 19:09

    Sorcia ale mam pytanko. dlaczego jak za 3 razem naciskam next wpisuje zmienioną liczbę to nie wyświetla mi się żadna iteracja ?? proszę o szybka odp.

  2. Jurek

    15 maja 2008, 14:00

    Czasem niestety nie idzie odnaleźć niektórych zmiennych, ponieważ jest to dość prymitywny program, a niektóre gry, czy aplikacje utrudniają dostęp do swojej pamięci.

  3. Misiek

    24 czerwca 2008, 16:59

    Ej mam pytanie jak już znalazłem swój adres i próbuje zmienić liczbę value to się nie da cały czas wraca ta sama

  4. PODLUKA

    01 lipca 2008, 16:26

    ad. Tomcio czasami jest tak że dana gra ma kilka miejsc w pamięci gdzie przechowuje daną wartość (tak jest np z Red Alert 2) gdzie np w jednym adresie jest przechowywana wartość którą komputer WYŚWIETLA NA EKRANIE a np w drugim jest TA RZECZYWISTA WARTOŚĆ ... moja rada trzeba próbować ;) ad Misiek Jeżeli już dodasz dany adres to proponuje włączyć opcje "freeze" (czyli kliknąć w ten kwadracik w "description") wtedy cały czas będziesz miał żądaną wartość POZDRAWIAM

  5. Szpak

    20 lipca 2009, 14:22

    A ja w "process" nie moge znalezc swojej gry a konkretnie menedzera zuzlowego. Co zrobic ? Dlaczego tak jest ?

  6. Jurek

    21 lipca 2009, 10:00

    Spróbuj poszukać procesu zawierającego nazwę pliku exe gry. Rozwijaj kolejne gałęzie drzewa procesów

  7. kloszi

    21 kwietnia 2010, 20:56

    Ja używam http://www.cheatengine.org/download.php do którego są kody źródłowe

  8. Jurek

    22 kwietnia 2010, 09:03

    A tego nie znałem, muszę sprawdzić:)

  1. Captcha