Artykuły na każdy temat

Jagged Alliance 2 i nieograniczona kasa

Dodano 29.09.2012r. o 06:57
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 Smile

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

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)