Ostatni wpis opublikowałem 9 września jak dobrze pamiętam. Przez ten czas wiele się wydarzyło nie mniej jednak dzisiaj nie będę opowiadał o tym. Artykuł właściwie spóźniony o bity miesiąc tzn. był gotowy już jakiś czas temu jednak pewne wydarzenia losowe uniemożliwiły mi publikację. Skupmy się na właściwym przedmiocie sprawy, którym jest "oszukiwanie" w Jagged Alliance 2 (wersja 1.13).
Nieskończony ruch najemnika
Dawno temu postanowiłem odświeżyć sobie pamięć odnośnie JA2 i tak właśnie zrobiłem parę miesięcy temu. Oczywiście nie tak jak za pierwszym razem kiedy grałem w tą gierkę na poziomie nowicjusz. Trzasnąłem sobie partyjkę na poziomie ekspert w wersji 1.12, który z perspektywy czasu jest niczym. Kiedy przejąłem kontrolę nad całym krajem wpadłem na pomysł aby trochę poeksperymentować. Po pierwsze chciałem poznać logikę aplikacji. Zdaję sobie sprawę, iż mogłem po prostu ściągnąć ogólnodostępne źródła gry, zmodyfikować i skompilować jednak wolałem prostsze rozwiązanie. Było nim oczywiście manipulowanie pamięcią. Zanim do tego dojdziemy muszę jeszcze wspomnieć o jednej rzeczy. Ponieważ na mojej rozdzielczości (1680x1050) były zgrzyty to musiałem zaopatrzyć się w odpowiednią binarkę (tzw. high resolution). Zgrzyt polegał na tym, iż na oryginalnym exeku miałem ucięty kawałek ekranu. Kiedy już dopadłem się ze szponami do tego co potrzebowałem to zauważyłem jeden mankament tj. wrogowie nie dropili ekwipunku. Żeby była jasność rozmawiamy o
ja2_800x600.exe, której suma kontrolna pliku wynosi
f505cde82520e60557c0d0860b27a8f1. Bierzemy w łapę przykładowo Cheat Engine i dodajemy adres
0x00755D40, a następnie zamrażamy wartość. Od tej pory nasz najemnik z I.M.P. ma nieskończony ruch podczas walki. Taka oto odskocznia od standardowego GABBI, które zapisuję się do
pamiętnika.
Ten sam myk jest dostępny dla Jagged Alliance 2: Unfinished Business. Oczywiście rozmawiamy o
JA2UB.exe o sumie kontrolnej
35ce54e5baad3a6b2119c259a8998461. Ponownie offset dla naszego najemnika (importowanego) wynosi
0x00768680. Dla tych, którzy chcą pomanipulować pieniędzmi polecam rzucenie okiem na dwa offsety tj.
0x009686C8 oraz
0x00768680.
Jestem prawie pewien, że dla Jagged Alliance 2 w wersji 1.13 jest możliwy ten sam myk opisywany powyżej jednak nie miałem czasu na tego typu eksperymenty.
Manipulacja sianem w JA2 (1.13)
O ile edytowanie sosu w wersji 1.12 nie ma sensu ponieważ po zdobyciu góra trzech miast mamy
ponadprogramowy przepływ pieniędzy na konto. Na wersji UB jeszcze potrafię to zrozumieć ponieważ nie ma dużych możliwości biznesowych. Jeżeli interesuje Ciebie właśnie ta wersja to patrz dwa akapity wyżej. Po edycji
stan konta wygląda tak.
Jeżeli chodzi o wersję 1.13 to sprawa jest nieco bardziej skomplikowana. Można oczywiście na upartego polecieć hex editorem i dodać sporą sumkę jednak babranie się w tym mija się z celem. Podejrzewam, że można także dokonać manipulacji przy pomocy
INI Editor.exe jednak o ile mnie pamięć nie myli to trzeba rozpocząć grę od nowa aby ustawienia weszły. Możliwe także, że istnieją jakieś edytory savów jednak mi osobiście nie udało się znaleźć. Jeżeli komuś wpadnie do głowy edycja pamięci to prawdopodobnie się rozczaruję. Po pierwsze wartość nawet jeżeli zostanie zamrożona i będziemy szkolić samoobronę mobilną to po jakimś czasie otrzymamy komunikat, iż nie mamy pieniędzy i większość jednostek po prostu zniknie. Wystarczy prosty eksperyment tj. edycja wartości np. na milion dolarów, a potem zakupienie/sprzedanie czegokolwiek i licznik wraca do prawidłowej wartości tak jakby sos był trzymany w innym miejscu w pamięci. W związku z tym postanowiłem na szybką edycję binarki aby trzymało prawidłową wartość na koncie (500 tysięcy dolarów). Po szybkim przeszukiwaniu
znalazłem interesujący mnie fragment. Po analizie doszedłem do wniosku, iż
"zakomentowany" fragment odpowiedzialny jest za właściwą wartość salda konta.
Efekt końcowy wygląda właśnie tak
Download
Skan edytowanej binarki znajduję się pod
tym adresem. Właściwie to wprowadziłem tylko tą modyfikację ale zawsze możecie sprawdzić lub wykonać to samodzielnie. Edytowaną binarkę znajdziecie pod
tym adresem.
PS
Jeżeli potrzebujesz jakiejś prostej "modyfikacji" do Jagged Alliance to zapraszam do kontaktu ze mną via PM albo przez komentarze.
Komentarze
Brak komentarzy
Dodaj komentarz
Zezwolono używać:
BBCode
Zabroniono używać:
znaczników HTML