Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Trainer osoitteen haku

Sivun loppuun

kayttaja-3842 [02.03.2009 22:43:42]

#

Terve vaan kaikille jälleen,

Elikkäs olen tässä väsillyt yhteen peliin traineriä, minulle on tosin tullut eteen yksi probleema. Eli etsin eka yhellä muistin scannaus ohjelmalla pelin muistipaikat ja etsin missä osoitteessa sijaitsee rahan määrä. Noh kun lyödän sen voin hienosti muokata sitä omalla trainerillä. Sitten kun käynnistän seuraavan kerran pelin, niin osoite on kin muuttunut, eli raha ei sijaitsekkaan enää samassa osoitteessa missä sijaitis viimeksi.


Eli miten saisin selville joka kerta kun käynnistän trainerin, että missä se rahan osoite oikein sijaitsee?

Edit1: Vai onko tarkoitus saada etsittyä osoite joka muuttaa tuota raha määrää?

Grez [03.03.2009 01:53:09]

#

Luultavasti ohjelma varaa ko. muistipaikan dynaamisesti. Ohjelmasta mahdollisesti löytyy vakiopaikasta pointteri tuohon osoitteeseen (tai vähän ennen sitä, jos se on isompi muistialue)

kayttaja-3842 [03.03.2009 13:48:44]

#

Ahaa, noh nytten olen selvittänyt pointterin osoitteen. Miten saan tuosta pointterista selville, että mihin osoitteeseen tuo osoittaa?!?!?

Gaxx [03.03.2009 15:56:11]

#

Pointterin arvo on sen osoittaman muistipaikan indeksi.

kayttaja-3842 [03.03.2009 23:11:47]

#

Eli siis jos pointterin osoite on hexinä 0x776E68AC ja sen arvo on 0x006D8398, niin onko tuo 0x006D8398 sitten se esim. raha määrän osoite jota muokkaamalla voidaan muokata rahan määrää?

Metabolix [03.03.2009 23:15:54]

#

On, jos se pointteri osoittaa rahamäärään. Ja tietenkin siis pitää muokata sitä rahamäärää eikä osoitinta. Ihmettelen suuresti, miten olet voinut muka löytää oikean osoittimen, jos et edes tiedä itse, minne se osoittaa. :D

Mikä kumma niissä osoittimissa on niin hankalaa? Osoitin = muuttuja, jossa on osoite.

kayttaja-3842 [03.03.2009 23:42:57]

#

Tiedän sen osittain siitä, koska katsoin mikä osoite muokkaa raha määrä. Tuloksena oli pop[eax+edi] eax = 0000002C ja pointteri(0x776E68AC) osoittaa tuohon 0x006D839 ja 0x006D839 osoittaa tuohon eax eli 0000002C?

Tosin tuo edi muuttu joka kerta, eli se pitäisi saada selvitettyä. Koska rahan sijainti saadaan kun tuohon eax(0x776E68AC -> 0x006D839 -> 0000002C) + edi...

Luultavasti ette tajunneet yhtikäs mitään mitä selitän, mutta koitan vielä itse jos saisin sen itse toimimaan. :)

Eli siis tuo edi on offsetti, eli jos eax + edi = rahan sijainti

Grez [04.03.2009 07:40:15]

#

No mikä tuossa nyt on sitten niin vaikeeta? Siis kun kuitenkin kerrat näet sen disassembloidun koodin ja ilmeisesti ainakin jollain tasolla osaat sitä tulkitakin. Tuskinpa sitä EDInkään sisältöä mistään satunnaislukugeneraattorista on luettu.

kayttaja-3842 [04.03.2009 09:21:06]

#

Jep jep, sitä tässä koitankin etsiä ja selvittää tulisesti. Ei vielä tosin ole tuottanut tulosta. :)

kayttaja-3842 [04.03.2009 17:28:18]

#

Jihuu, sain selvitettyä offsetin arvon, eli tuon edin:n se oli 0x000141EC.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta