CHEAT

CHEAT

1. rész

Mindenekelőtt egy vallomás: Szeretek játszani és szeretem a számítógépes játékokat!
Az idők folyamán nagyon sok játékot kipróbáltam, és mint mindannyiunknak volt amelyik tetszett, s volt amelyik nem. Azóta is vannak játékstílusok, melyekkel nem foglalkozom, és vannak olyanok is, melyeket nagyon szeretek. De mindegyiken felül emelkednek a manager típusúak, melyekkel mindmáig a legszívesebben játszom. Különösen a sport- (foci) managerek azok, melyeket a mai napig elő szoktam venni, és a jól ismert LOAD ”*”,8,1 paranccsal betöltök a C64-be.
Az egy külön tanulmány lehetne, hogy miért szeretnek az emberek a számítógépen gazdasági és egyéb pénzzel kapcsolatos játékokkal játszani. Biztos megvan ennek a maga pszichológiai, társadalomtudományi, stb. magyarázata, de én most itt ebbe nem nagyon mennék bele. A magam részéről azt (is) szerettem ezekben a játékokban, hogy megbuherálhatóak, és a rendelkezésre álló pénz összege növelhető, s ily módon a siker felé vezető rögös út egy kissé simábbá tehető.
Az alábbiakban a csalásnak ezzel a formájával szeretném megismertetni az olvasót, néhány példán keresztül. (A példákban szereplő programok egytől-egyig letölthetők a C64 HQ-ról.)

Kezdjük a mindjárt a Match of the Day nevű játékkal, mely a 64-es premier után PC-re is kijött. A birtokomban levő példány sajnos lemezre nem tud menteni csak kazettára, ezért a kimentett játékállásban való turkálásról le kell mondanunk. De azért nem kell feladni, mivel még így is rengeteg lehetőségünk maradt. Aki valódi 64-en játszik, annak szüksége lesz egy Action Replay-re, vagy valami más, monitorprogrammal rendelkező cartridge-re.
Az emulátorosoknak valamivel könnyebb dolguk van, mivel ők egyszerűen letölthetnek maguknak egy AR image-t, amit az emu futtatni képes, és emulálja a törőkártyát, vagy használhatják a legtöbb emulátorba (CCS64, C64S, stb.) beépített monitorprogramot.

Na de lássuk végre, hogy hogyan is tudjuk felturbózni a pénzünket egy kissé, hogy valami normális csapatot tudjunk építeni!
Először is kattintsunk a jobb alsó sarokban lévő ikonra, hogy megtudjuk mennyi pénzünk is van a gép szerint pillanatnyilag. Ezt induláskor nem túl szerencsésen egy kerek összeg, jelen esetben 80.000 font. Hogy valami kevésbé tökéletes számot kapjunk, csináljunk valamilyen műveletet, pl. vegyünk, vagy adjunk el egy játékost, kérjünk kölcsönt, vagy valami hasonlót műveljünk. Ennél a játéknál a legcélszerűbb, ha lejátszunk egy meccset, és utána garantáltan meg fog változni a pénz mennyisége!
Na tessék! Nálam máris 170.518 font lett a kasszában. (Nálatok valószínűleg más összeg lesz, de nagyságrendileg ennyi.) Ezt a számot át kell most váltanunk hexadecimális, azaz 16-os számrendszerbe, mivel általában a programokban így tárolják ezt az értéket. Az én esetemben ez a szám a $029A16 lett. Az átváltáshoz használj számológépet, vagy végső esetben a PC beépített számológépét.
Ezt a számot most fel kell bontanunk byte-okra, hisz mint tudjuk a számítógép ilyen egységekben tárolja az információt. Ez ebben az esetben 02, 9A és 16. Ezután még mindig van egy kis tennivalónk, ugyanis a memóriában nem így helyezkedik el ez az összeg, hanem fordított sorrendben, azaz 16 9A 02.
Most már megvan, hogy mit is keresünk, úgyhogy nincs más dolgunk, mint elindítani a monitorprogramot. Ha ez megvan, akkor nézzük át az egész memóriát, hogy hol található meg benne ez a byte sorozat. Ezt a H (Hunt – vadászni) paranccsal tehetjük meg.
H 0000 FFFF 16 9A 02
A parancs után a két négy karakteres érték azt jelenti, hogy mettől meddig keressen a program, utána pedig a keresett byte sorozat áll.
Ha ezt a parancsot lefuttatjuk, akkor válaszul egy memóriacímet kapunk. Ha szerencsénk van, akkor csak egyet, ám ha nincs, akkor többet. Ebben az esetben végig kell mindegyiket próbálni, és amelyiknek az átírásával célt érünk, az a keresett cím. Nekem egyedül a $2F22 címet dobta ki a program, amit ha megnézünk, valóban ott van a következő byte sorozat: 16 9A 02 00 .. .. .. ..
Nekünk most jelen esetben ez a négy byte fontos, ugyanis ez tárolja a rendelkezésünkre álló pénz mennyiségét. Most, ha a 02-t átírjuk valami nagyobb értékre (nem kell FF-fel kezdeni… :), akkor a játékba visszatérve láthatjuk, hogy máris sikerül némi extra pénzre szert tennünk.
Ezután nincs más teendőnk, mint játszani, és ha úgy érezzük, hogy kevés a pénzünk, akkor ismét elindítjuk a monitor progit, és a már ismert címen újra átírhatjuk a bankszámlánkat!

Hát ez is megvan! De ne üljünk olyan nyugodtan a babérjainkon, inkább gyakorlásképpen töltsük be a Graeme Souness Soccer Manager nevű (egyik kedvencem) programot.
A biztonság kedvéért itt is játszunk le egy fordulót, majd nézzük meg és írjuk fel a rendelkezésünkre álló pénz mennyiségét. Váltsuk át szépen hexába, majd keressünk rá a monitorprogrammal. (Persze itt is meg kell fordítani a sorrendet!)
Ha ez megvan, ismét kapunk egy, vagy több címet. Némi kísérletezés után rájövünk, hogy a $0082 a helyes, és jelen esetben is 4 byte van fenntartva az összeg tárolására. Azonban arra figyeljünk (nem csak itt, hanem más játékoknál is), hogy a negyedik byte-ot nem szabad túl nagyra átírni, mivel ez esetben már átbillen a pénzünk mínuszba, és az bizony kellemetlen tud lenni. (Pl. kirúgnak a csapattól!) Szóval szerintem elég az első 3 byte-ot babrálni, mivel így is elég tetemes összeghez juthatunk!

Úgy tűnik, hogy a szabályos esetekkel már meg tudunk birkózni, de mi van akkor, ha egy program „nem szabályos módon” tárolja az átírandó értéket?

A következő áldozatunk a 1st Division Manager nevű játék. A szokásos forduló lejátszás, összeg felírás, hexába váltás és keresés után rá kell jönnünk, hogy ez az út nem járható, mivel a monitor nem ad vissza semmilyen használható értéket, azaz nincs a memóriába a pénz összege. Lehetséges ez? Nem! Az összegnek ott kell lennie, és bizony ott is van, csak éppen másképpen tárolva.
Ez a másképpen pedig egy kissé(?) helypazarló, mivel a többi játékban 4 byte volt fenntartva a pénznek, amivel optimális esetben több mint 4 milliárd volt kifejezhető, ám ennél a programnál 7 byte-on van tárolva, de csupán 9 999 999 a maximum.
Az ügyesebbek már rájöhettek, hogy ha 7 byte-ról beszélek, és 7 karakteres lehet a maximális érték, akkor bizonyosan egy karakter 1 byte-on van tárolva. És ez pontosan így is van! Vagyis jelen esetben nem a hexa értéket kell keresni, hanem ha pl. 132.352 fontunk van, akkor a 01 03 02 03 05 02 byte sorozatot. Ha erre rákeresünk a monitorban, akkor már köpi is ki a $3987-es értéket, ami majdnem jó is. Ebből ugyanis még le kell vonnunk egyet, hisz nem 6, hanem 7 byte-ról volt szó, azaz a 01 előtt még van egy 00, amit szintén át lehet írni nagyobbra!
A végeredmény tehát: $3986. Ezután tehát elég ezt az egy byte-ot babrálni hiszen, ha itt mindig van legalább 01, akkor nem számít, hogy az utána következőkön mi szerepel, mivel egy milliónk biztosan van!
Ne lépjünk azonban még tovább, hisz van itt még érdekesség elég. Kezdjük mindjárt azzal, hogy ebben a játékban frankón ki tudjuk menteni a játékállást, azaz akinek nincs a birtokában Action Replay, az is tud csalni! Elég, ha van egy disk monitor programja (vagy X1541 kábele és Star Commandere), amivel a rokonával ellentétben nem a memóriában, hanem a lemezen tudunk a file-okba belenyúlni. Mivel most már tudjuk, hogy mit, és milyen formában kell keresni, nincs nehéz dolgunk. Addig keresgélünk, míg meg nem leljük a kimentett file-ban a pénzünknek megfelelő byte sorozatot.
Jómagam Star Commandert használtam, így nem tudom, hogy a disk monitorral hányadik blockban kell keresgélni, de az biztos, hogy a file $1988. byte-jánál van a pénz!
Ha már itt vagyunk, és be van töltve a disk monitor (vagy az SC), akkor nézzünk már körül a kimentett állásban, hisz ebben nem csak a pénzünket tudjuk átírni! Például mi van akkor, ha megnöveljük a pénzünket? Lehet eladogatni a jelenlegi játékosainkat, és helyettük vehetünk újakat, jobbakat. De miért tennénk ezt, ha egyszer a mostaniakat is felturbózhatjuk egy kicsit?
A játékban írjuk fel az egyik játékosunk nevét, pozícióját, tudását, formáját, majd keressük meg a nevét a file-ban, és nézzük meg milyen számok állnak utána. Az én játékosom csatár volt, 3-mas tudású, 60 százalékos formában. A file-ban a neve után a következő byte sorozat volt található: 20 00 14 00 11 04 03 3C 00
Mivel a legfontosabb a jelenlegi forma, azért mindjárt a 60-at kezdtem el keresgélni, de mivel sem 60, sem 06 00 nem volt, ezért átváltottam hexába. 60=$3C Hoppá, hiszen itt van egy 3C! Ez az! A pillanatnyi forma megvan, s innen már nem volt nehéz kitalálni, hogy az előtte álló 03 a tudást jelenti (át is írtam gyorsan 09-re :), az az előtt levő 04 pedig a posztot. (01-kapus, 02-hátvéd, 03-középpályás, 04-csatár).
Ugyanezek a dolgok a memóriában is megtalálhatók, ugyanilyen formában, tehát most már elég a poszt, tudás, forma által meghatározott 3 byte-ra rákeresni, és nagy valószínűséggel csak egy eredményt fogunk kapni. Ha mégis több eredmény lenne, akkor csupán eggyel írjuk át a formát, és nézzük meg, hogy sikeres volt-e az akció, hisz az nem érdekünk, hogy esetleg az ellenfél játékosát erősítsük fel!
Ja, azt majdnem elfelejtettem, hogy a lemezen a $10DC-$1860, a memóriában a $3D00-$3850 között kell keresgélni a játékosokat.

Mai utolsó programunk a Bundesliga nevű, melynek az az érdekessége, hogy 1, magyar nyelvű 2, full basic.
Ez utóbbi az érdekesebb dolog mivel, ha basic a program, akkor basic módon tárolja a változókat is. Ha monitorral belenézünk, akkor láthatjuk, hogy valóban így van, s 9FFF-től visszafelé, azaz a basic tár tetején ott vannak a változók, és az aktuális értékeik.
Ennek a játéknak a megbuherálásához azonban nem kell feltétlenül monitor program. Elég, ha belenézünk a programlistába, és könnyen rájöhetünk, hogy melyik változó tárolja a pénzünket. (Esetleg folyamodhatunk olyan segédeszközhöz, mint a HELP+, amivel ki tudjuk íratni a változók értékét.)
Ha ez megvan, akkor egyszerűen megszakítjuk a játékot RUN/STOP-pal, és a változónak új értéket adunk, majd a CONT paranccsal ott folytathatjuk a játékot, ahol abbahagytuk!
(Ha esetleg valakinek nehézséget okozna megkeresni, akkor elárulom, hogy a DM(H) az ominózus változó.)

Ezzel mai leckénk végére is értünk. A következő részben más típusú programok berhelésével fogunk foglalkozni.

2. rész

A második rész legelején vegyük át gyorsan a lényeges tudnivalókat!
Először is a legfontosabb, hogy szükség lesz egy háttérben futni tudó monitorprogramra. Erre a legjobb (az egyetlen?) megoldás valódi gép használata esetén, ha van egy bővítőkártya a közelben. Ez lehet Action Replay, Atomic Power, vagy akár IDE64 is, a lényeg az, hogy képes legyen futás közben megállítani a programot és annak sérülése nélkül lehessen egy monitorprogival turkálni a C64 memóriájában. Emulátor használata esetén a dolog egyszerűbb, mivel még csak azzal sem kell szenvednünk, hogy emuláljuk a kártya image-ét, mivel minden emu-nak van beépített monitor programja, amire a kereséshez szükség lesz!

Az első részben mindenféle foci manager játékot vizsgáltunk, és azokban kerestük meg a memóriában azokat a byte-okat, amelyeken a program az aktuális pénz mennyiségét tárolja. Most más vizekre evezünk, és a sportmanagerek helyett másféle játékokban fogunk kutakodni.

Még mindig a gyakorlásnál maradva, kezdjük a Sim City-vel, ami a gazdasági játékok egyik ősatyja. Talán nem is kell ecsetelnem, hogy ebben a játékban mit kell csinálni, és miért is olyan fontos a sok pénz megléte. Legyen elég annyi, hogy egy nagyváros működtetése rengeteg zsozsót emészt fel!
Ha elindítjuk a programot, és megtesszük a kezdő lépéseket, akkor ott állunk egy csupasz földterületnél, 4000 Funds (hogy ez milyen nemzeti valuta?) készpénzzel, ami nem túl sok. Gyerünk hát, növeljük meg egy kicsit az értékét. Talán még van, aki emlékszik rá az előző cikkből, hogy a túl kerek összegek nem mindig szerencsések a keresés során, ezért érdemes valamilyen nem ingyenes műveletet csinálni. Jelen esetben én egy villanyvezetéket tettem le, ami 3 egységnyi manit kóstált, így az egyenlegem máris 3997-re módosult. Ez már jó, ezzel lehet dolgozni! Mivel a normális assemblyben íródott programok a számmal kifejezhető értékeket hexadecimális, azaz tizenhatos számrendszerben tárolják, ezért ezt az értéket máris átváltjuk, s így megkapjuk a keresendő $0F és $9D-t. Vagyis (és ezt is leírtam az előző cikkben) a keresés előtt meg kell cserélnünk az értékeket, mivel a számítógép ilyen formában tárolja azt. A keresés parancsa tehát ez lesz a monitorban, amit a következő lépésként el kell indítanunk: „H 0000 FFFF 9D 0F”. Azért H, mert ez a keresés parancsa, azért 0000, mert a tár elejétől keresünk, azért FFFF, mert a tár végéig keresünk és azért 9D 0F, mert ez az az érték, amit próbálunk megtalálni.
Ha lefutott a keresés, akkor jelen esetben csak egy címet kapunk vissza, mégpedig a $2FF8-at. Ha a második byte-ot átírjuk, az esetleges kiakadások elkerülése végett nem feltétlenül FF re, akkor a játékba visszalépve tapasztalhatjuk, hogy sikerült megtalálni a megfelelő byte-ot, a 65536 közül!
Ehhez a játékhoz tartozik még az a dolog, hogy ugyan a célunk a pénz mennyiségét tároló byte megtalálása volt, azért létezik egy egyszerűbb megoldás is e játék megkönnyítésére, mégpedig az F1 billentyű lenyomása. Erre ugyanis az aktuális pénzmennyiség visszaugrik az alapállapotra, azaz 4000 re, akkor is, ha több volt. Viszont azért nem volt hiábavaló a minket érdeklő byte megkeresése sem, mivel nem minden játék rendelkezik ilyen beépített cheattel!

Igen, nem minden játékba tettek a fejlesztők az előzőhöz hasonló könnyítést, ám a mai második áldozatunk ezek közé a ritkaságok közé tartozik. Az Oil Imperium-ban ugyanis, ha lenyomjuk a balra nyíl, Control, RunStop (emulátorban: nulla, TAB, Esc) kombinációt, akkor kapunk 100 000 000 $ t. Ez elég szép summa ahhoz, hogy elkezdjük a munkát, s ráadásul a cheat havonta ismételhető. Ennek ellenére nem haszontalan megkeresni a pénz mennyiségét tároló byte-okat, mivel ugyan előnyhöz jutunk, ha van sok pénzünk, de azért az sem utolsó dolog, ha az ellenfelekét csökkenteni tudjuk. Márpedig, ha megtaláljuk a saját pénzünk mennyiségét tároló byte-okat, akkor az ellenfeleké is ott lesz valahol a környékén. Lássunk hát neki a kutatómunkának!

Először is állítsuk be a maximális 4 játékost, s adjunk nekik egymástól nagyon különböző neveket. Ha ez megvan, akkor a lemez megfordítása után máris az első játékos irodájában találjuk magunkat. El a saját főhadiszállásunk. A képernyőn látható, hogy jelen pillanatban 5 000 000 $ készpénz áll rendelkezésünkre, hogy Jockey Ewing nyomdokaiba lépjünk. Ez megint csak egy kerek szám, ezért költsünk el egy keveset. Ha veszünk egy olajmezőt, akkor garantáltan kevesebb lesz a pénzünk. Nekem egy 200 000 $-osat sikerült vennem, ezért a pénzem mennyisége 4 800 000 $-ra csökkent. Ez hexadecimálisan a $493E00 értéknek felel meg. Nincs is más dolgunk hátra, mint elindítani a monitort, és rákeresni a 00 3E 49 es értékre (tudjátok, a szokásos byte sorrend megfordítás miatt). Ezúttal is szerencsénk van, mivel a keresett byte sorozat csupán egy helyen található a memóriában, mégpedig a $130F-től kezdődően. Ha itt, vagyis inkább a $1311-en (mivel $130F-en a 00 található) átírjuk a 49-et valami nagyobb értékre (az FF kerülendő), akkor a játékba visszatérve máris láthatjuk, hogy valóban a megfelelő helyen matatunk. De ne térjünk még olyan gyorsan vissza a játékba, mivel ugye arról volt szó, hogy az ellenfelek pénzét érdemes inkább manipulálni, mivel a sajátunkra van egy megfelelő billentyűkombináció. Mivel mi 5 000 000 $ készpénzzel kezdtünk, valószínű, hogy ők is annyit kapnak a játék elején. Ez hexadecimálisan a $4C4B40-nek felel meg ezért, ha a memóriát tovább vizsgáljuk, láthatjuk, hogy a többi játékos általunk megadott neve mögött szépen sorban ott van a 40 4B 4C byte sorozat, a $1340, $1371 és $13A2. Itt a 4C helyett érdemes egy kisebbet választani, és máris egy kicsit nehezebb helyzetbe hozzuk a többieket!

A szabványos esetekből elég is volt mára. Lássuk mit is csinálhatunk, ha egy kicsit másképp kezeli a program az adatokat, mint azt illene. Töltsük be a SuperCars nevű remek felülnézeti autóversenyt, és indítsuk el. A névmegadás után 20 000 font kezdőtőkével állunk. A szokásos túl kerek indulóösszeg problémát most egy verseny megtételével nem tudjuk megoldani, mivel a győzelemért újabb 20 000 font a jutalmunk, és ezzel nem nagyon jutunk előrébb. Menjünk inkább be a garázsba, és vegyünk egy Power Steering-et, ami 2450 fontba kerül, így máris egy kevésbé kerek összeg hömbölög a bankszámlánkon. 17 550 font, azaz $448E. Ha átnézzük a memóriát, se a 8E 44, se a 44 8E byte párokra nem kapunk találatot. Szerencsére a rutinosabbak (akik olvasták a cikk első részét :-)) nem esnek kétségbe, mivel tuják, hogy egy program másféle módon is tárolhatja a minket érdeklő értéket. Ők már talán pötyögik is be a monitorba, hogy „H 0000 FFFF 01 07 05 05”. Az utolsó 00 át érdemes kihagyni a keresésből, mert esetenként egy-egy trükkösebb program nem is tárolja, ha nem számol vele, csupán odailleszti a tárolt érték mögé. A fenti keresésre válaszul én a $1938 és a $7343 értékeket kaptam. Hogy kiszűrjük a megfelelőt, vissza kell térni a játékba, és újból venni valamit a garázsban. Legyen ez mondjuk egy Side Armour, ami 3400-at kóstál, és a megvásárlásával máris csak 14 150 font maradt a számlánkon. Ha az ennek megfelelő byte sorozatra rákeresünk, akkor meglepődve tapasztalhatjuk, hogy ugyanazt a két memóriacímet dobta ki a monitor. Vagyis az aktuális pénz mennyiségét két helyen is tárolja a program. Ez elsőre elég nagy hülyeségnek hangzik és másodszorra sem javul a helyzet. A megoldás mielőbbi megtalálásához írjuk át az első címen levő 01-et 05-re. Ha ezután visszatérünk a játékba és vásárolunk mondjuk egy Front Missile nevű kiegészítőt a kocsinkhoz, akkor a pénzünk lemegy 10 500-ra, ami egyrészt marha kevés, másrészt azt jelenti, hogy nem jó helyen kutakodtunk. Térjünk hát át a másik címre, és a $7343-mon levő 01-et írjuk át 05 re. Ha ez után lépünk vissza a játékba, és kimegyünk a garázsból, máris láthatjuk, hogy a pénzünk mennyisége átíródott 50 050-re, ami bizonyítja, hogy megtaláltuk amit kerestünk! Ezután már csak annyi dolgunk van, hogy megvizsgáljuk a megtalált byte előtti helyeket is. A $7342 re 5 öt írva 550 050 lesz a pénzünk, ám ha a $7341 re írunk nagyobb értéket, akkor már nem változik. Ezzel megtudtuk azt is, hogy a legnagyobb pénzmennyiség ebben a játékban a 999 999 font. Persze ennyi pénzre nem nagyon van szükségünk, ezért a sikerhez elég annyi, hogy a $7342 n legyen mindig legalább 1, és akkor mindenféle szuper kütyüt vehetünk a kocsinkhoz, vagy éppen a járgányt is lecserélhetjük egy erősebbre!

Ha már így benne vagyunk a nem szabványosan tárolt adatok keresésében, akkor egy lendülettel nézzük meg a Rockstar Manager című programot is! Ez a remek kis játék azt hivatott meg bemutatni, hogy mi mindent kell Kozsó apánknak csinálni ahhoz, hogy befuttassa az aktuális fiú-/lánycsapatát. Az aranylemezhez vezető út rögös, és bizony elkél közben egy kis extra pénzmag! Lássuk, hogy segíthetünk Kocsor Zsoltinak!
Ha elindult a progi, akkor láthatjuk, hogy mindössze 50 000 font kezdőtőkével áldott meg az ég bennünket. Ez nem túl sok, de arra elég, hogy kiválasszunk egy normálisnak mondható sztárt és elkezdjük a felfuttatását. Az én általam választott Jacko imitátor új felszerelése 7000-be került és így 43 000 fontom maradt. Ez ugyebár elég kerek, de egy napi gyakorlás után máris 42 900-ra alakult a pénz mennyisége. Ez már elég jó érték ahhoz, hogy keresni lehessen. A hexába váltás és a keresés után szomorúan tapasztalhatjuk, hogy megint csak nem szabványos adattárolással állunk szemben. Az előző program buherálásából tanulva, máris rákereshetünk a 04 02 09 sorozatra. (A 00 00 párost a korábban ismertetett okok miatt hagyjuk ki a keresésből!)
Ismét szerencsénk van, mert csupán egy címet köpött ki a monitor, mégpedig a $08DA t. Ha itt a 4-et átírjuk 5-re, és a játékba visszatérve egy napot ismét gyakoroltatunk a pop királyával, akkor láthatjuk, hogy a missziót sikeresen végrehajtottuk, mivel a pénzünk új mennyisége 52 800 font lett.
Ezután már csak annyi a teendőnk, hogy a megkapott érték ($08DA) előtti byte-okat átírjuk visszafelé haladva a 04, 03, 02, 01 értékekre, és a játékba visszalépve meglessük, hogy mit csináltunk. Újabb egy napi gyakorlás után máris frissíti a program a pénz értékét, és láthatjuk, hogy az új egyenleg 23 434 700 font, azaz a négy átírt byte-ból három még a pénzmennyiség tárolására van fenntartva, s csak a 01-re átírt legelső nem ezt a célt szolgálja. A minket érdeklő egyetlen byte tehát nem más, mint a $08D7 hiszen, ha ezen mindig 01 szerepel, akkor nem lehet anyagi gondunk egész évben!
Az igazsághoz azért hozzátartozik az is, hogy a sikerhez a pénz szinte korlátlan mennyisége nem elég, ugyanis a program finomságai, valamint random úrfi miatt egyáltalán nincs garancia a sikerre, csak ha eltalál az ember egy jó stratégiát!

Ezek után azt hihetné az egyszer cheater, hogy most már nyugodtan hátra dőlhet, mert nem érheti meglepetés, ám ez nem így van! Nézzük csak meg a Samantha Fox Strip Poker című játékot, hisz ennyi pénzezés után a férfiember már erősen vágyik valami gatyadudorító látványra, s a 80-as évek kebelcsodája pont megfelelő erre a célra! Igen ám, de ha elindul a game, akkor szomorúan kell észrevennünk, hogy a brit tejcsárda valami ökör megfontolásból kalapot húzott a buksijára, napszemüveggel takarta el a szemeit és egy sálat is tekert a nyakára. Ez így nem mehet tovább! Vetkőztessük le a bigét!
Ahhoz, hogy ezt megtehessük, le kell őt győznünk pókerban. A póker pont az a kártyajáték, amelyhez sok pénz kell, és mivel már szereztünk némi rutint a pénztárcahízlalásban, ezért bátran elindíthatjuk a monitorprogramot.
Mivel 100 dollárral kezdünk, és az első 5 dolláros tétet a gép már le is vonta, ezért jelen pillanatban a 95 re kell rákeresnünk. Ez azért gáz, mert ha átváltjuk hexába, akkor az egy byte-on tárolható (5F), és ilyen értékből egy jó csomó van a memóriában. Mivel a pénzünk mennyisége 128 dollárnál több is lehet, ezért biztos, hogy legalább két byte kell az ilyen formátumú tároláshoz, de sajnos a 00 5F és az 5F 00 páros sem hozza meg a várt sikert, ezért kísérletezzünk a 00 09 05 hármassal. Ez már három byte, és így elég egyedi lehet ahhoz, hogy ne kapjunk túl sok találatot. Ez így is van. Nem kaptunk túl sok találatot, mivel egy ilyen trió sincs a memóriában. Trükköt sejtve, az ügyesebbek rögtön fordított sorrendben keresnek, de a 05 09 00 sem eredményez találatot.
Mi van itt? Milyen egyedi tárolási formát használ ez a játék?
Nos, a megoldás az, hogy a helykihasználásban pazarló „egy helyiérték, egy byte” és a takarékos hexadecimális tárolás között van ez a módszer. Itt két byte-ot használ a program, és ezzel akár 9999-et is ki tud fejezni a 99 és a 65536 helyett. Ha rákeresünk a 00 95 párosra, akkor 7 különböző címet kapunk. Ez még sok a próbálgatáshoz, ezért ezeket írjuk fel, és térjünk vissza a játékba. Itt veszítsünk el 5 dollárt, és utána keressünk rá a 00 90 re. A találatok közül a $2E0A az, amelyik átfedésben van az első körben kapott találatokkal. Ha újra vesztünk 5 dolcsit, és megint keresünk, akkor a 00 85 rengeteg találata között ott láthatjuk a $2E0A t, és így már biztosan kijelenthetjük, hogy megvan az a két byte, ami a pénzünk mennyiségét tárolja!
Igen ám, de miután rátaláltunk, rá kell döbbennünk, hogy ettől még nem fogunk melleket stírölni, hisz csak akkor vetkőzik a csaj, ha veszít! Keressük hát meg az ő pénzét is! Nézzük meg, hogy mennyije van, és a saját pénzünk tárolási helyének környékén kutakodjuk. Nem túl nagy nehézség után rá is lelünk a $2E07 memóriacímre, ahol ott a csaj pénze!
A sikeres vetkőztetéshez annyit kell tennünk, hogy Sam pénzét minden parti előtt lenullázzuk, és ha sikerül azt az egy játszmát megnyernünk, akkor utána ledobja magáról valamelyik göncét!

A mai utolsó meghekkelendő programunk a Ghostbusters lesz. Ez ugyan egyáltalán nem gazdasági program, és túl nagy szerepe nincs a pénznek benne, de engem mindig idegesített, hogy a játék elején kapott 10 000 dolcsiból (mivel a bankszámla kódját ugyebár nem ismerjük) nem tudjuk megvenni a legdrágább kocsit, és a felszerelések közül is csak az olcsóbbakat tudjuk beszerezni. Hogy ezt a nehézséget áthidaljuk, az autó vásárlás előtt hívjuk be a monitorprogramot, és a már megismert módszereket végig próbálgatva keressük meg azt a memóriacímet, amelyen a pénzünk mennyisége van. Mivel itt nem tudunk pár dollárt elveszíteni, ezért kénytelenek vagyunk a 10 000 re rákeresni. Arra hamar rájöhetünk, hogy nem hexadecimálisan tárolja az értéket a gép, mivel sem a 27 10, sem a 10 27 nem eredményezett találatot.
Jöjjön hát a következő módszer. Keressünk rá a 01 00 00 00-ra. Kismillió találatunk van, így egészítsük ki a keresendő értéket még egy 00-val, hisz végül is 10 000 a jelenlegi pénzmennyiségünk. Erre már csak 4 találatot kapunk. Ezeket én a legnagyobbtól visszafelé próbálgattam végig, mivel a legelső egy nulláslapi cím volt és arról gondoltam volna legkevésbé, hogy jó lesz. Tévedtem. Bizony, a négy találat közül a $0057 az, amely helyesnek bizonyult. Ezt átírva mondjuk 03-ra, ha visszatérünk a játékba, már meg is tudjuk venni a legdrágább kocsit. Ezután 15 000 dollárunk marad, ami lehet, hogy elég a felszerelés megvásárlására, de lehet, hogy nem. A legbiztosabb az, ha ismét átírjuk az értéket. Ha most megnézzük a monitorban a $0057 es és a $0058-as címet, akkor meglepődve tapasztalhatjuk, hogy nem a várt 01 és 05 szerepel ott, hanem a 01 és az 50. Vagyis ez a progi is úgy tárolja a pénz értékét, mint az előző: egy byte-on két helyiértéket, s csupán óriási mákunk volt, hogy tízezer volt a keresendő érték. Ha ugyanis nem 5 jegyű, hanem négy, vagy hatjegyű lett volna az induló tőke, akkor a 01 00 00 00 00 ás keresés nem hozott volna eredményt! Persze a Strip Poker tapasztalatait felhasználva így is megleltük volna a megoldást, de csak egy kicsit több munkával.

Na, gondolom már mindenki kellőképpen elfáradt, ezért be is fejezzük mára a pénzkeresést. Sőt, tulajdonképpen nagyon újat már nem tudok mondani ezen a téren, s a két rész tapasztalatait felhasználva mindenki egyedül is tud boldogulni az ilyen jellegű cheateléssel.
Sok sikert mindenkinek!

A cikkeket én írtam a Commie Inside 9-es és 12-es számába.