Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Muistin lukeminen: mistä aloittaa?

Sivun loppuun

Zutto [28.03.2009 00:36:26]

#

:) joo elikkä nyt ois tarkotus opetella vähän tota muistia lukemaan..

tiedän kyllä long, short, "0xf5e225" etc mut sit siel on taas asioita jotka on hämäriä mulle..

jollaki jtn linkkiä jota vois lueskella & opiskella :)

Päärynämies [28.03.2009 10:56:53]

#

Minä nyt en ainakaan päässyt ihan jyvälle mitä tässä haetaan. Voisitko selventää? Mitä haluat lukea ja miksi?

Grez [28.03.2009 13:28:05]

#

//Osoite
int osoite=0xf5e225;
//tavumuttuja
byte tavu;
//luetaan tavu osoitteesta (0xf5e225)
tavu = *osoite;

Metabolix [28.03.2009 18:31:58]

#

Grezin koodi ei toimi, kun ei ole osoite osoitinmuuttuja eikä byte-tyyppiäkään missään määritelty. Ajatus kyllä on oikein, mutta ehkä kysyjän kannalta olisi parempi lähteä liikkeelle jostain muusta kuin epämääräisestä tökkimisestä, joka suojatussa tilassa ja nykyjärjestelmillä herkästi kaataa ohjelman.

"Muistin lukeminen" on jo ongelmana niin huonosti määritelty, että eipä taida kysyjä edes tietää, mitä oikeasti haluaa tehdä. Kannattanee siis aloittaa selvittämällä perusasioita muistista ja sen hallinnasta.

Zutto [28.03.2009 19:24:49]

#

siis tarkotin että readprocessmemory / writeprocessmemorya pääsis käyttämään..

/edit: jtn perustietoa kyllä löytyy, mutta ei niin hirveän paljon, haluisin sen takia tätä nyt vähän tiedustella :)

Grez [28.03.2009 19:58:15]

#

Jos kerran olet tuosta Windowsin funktiosta kiinnostunut, niin onko tuossa MS:n dokumentaatiossa jotain vikaa? Tuolla readprocessmemoryllä siis voit kopioida toisen prosessin muistia omalle prosessillesi varattuun puskuriin. Sinulla täytyy olla lukuoikeus toiseen prosessiin, lue tarkemmin http://msdn.microsoft.com/en-us/library/ms684880(VS.85).aspx

Metabolix kirjoitti:

Ajatus kyllä on oikein, mutta ehkä kysyjän kannalta olisi parempi lähteä liikkeelle jostain muusta kuin epämääräisestä tökkimisestä

Se olikin tarkoitettu pikaprovoksi, että Zutto vähän tarkentaisi mitä on kysymässä.

Zutto [29.03.2009 11:23:51]

#

siinä funktiossa ei oo niin paljoa epäselvyyttä mutta lisätietoa

tästä pakettien/muistin lukemisen hallitsemista ajattelin tässä lähinnä

Deffi [29.03.2009 11:43:03]

#

Vaikka FindWindowilla ja GetWindowThreadProcessId:llä hommaat haluamas prosessin PIDin, jonka jälkeen avaat kahvan prosessiin OpenProcessilla ja sitten luet tai kirjottelet mitä lystäät Read/WriteProcessMemorylla.

Zutto [29.03.2009 20:00:31]

#

Deffi kirjoitti:

Vaikka FindWindowilla ja GetWindowThreadProcessId:llä hommaat haluamas prosessin PIDin, jonka jälkeen avaat kahvan prosessiin OpenProcessilla ja sitten luet tai kirjottelet mitä lystäät Read/WriteProcessMemorylla.

eise ongelma ole tuossakaan :P

haluan opiskella sitä miten paketit kulkee, miten lukea niitä viisaammin etc.

Päärynämies [29.03.2009 20:07:22]

#

Millaisia pakettaja haluat lukea? Miten olet niitä aiemmin lukenut, jos nyt haluat lukea niitä viisaammin? Voitko antaa esimerkin tapauksesta, johon tarvitsisit näitä tietoja?

Minulle nyt ei ole vielä selvinnyt, että mitä aloittaja oikeasti haluaa tehdä.

Metabolix [29.03.2009 21:05:53]

#

Mitkä ihmeen paketit? O_o Eikö tässä muistista ollut alunperin kysymys?

goala [31.03.2009 12:01:41]

#

Injektoit DLLn prosessiin joka kiinnostaa, ja sieltä käsin sitten teet kaiken tarvittavan. Esimerkiski richedit-boxien yms. lukeminen onnistuu käden käänteessä. Kun taas haluat siirtää datan omaan prosessiisi, pitää sun tutustua johonkin IPC-metodiin, esimerkiksi memory mapped fileseihin.

maz [03.04.2009 23:57:25]

#

Itse olen koettanut kartoittaa perusasioita C:stä ja koneen muistista tuolla blogissani. En viitsi ihan suorilla linkeillä mainostaa, joten osoite löytyy profiilistani ;)

Monet teksteistä tosin on henkilökohtaisilla mielipiteillä väritettyjä (vaikka olen koettanut pitää faktat kasassa - kiitos muuten Metabolixille joka aikoinaan oikoi nipun virheitä), joten asenteita ei välttämättä kannata omaksua, pelkät tosiasiat. (Esim C ja OOP matsku teksti on vahvasti väritetty minun henkilökohtaisilla mielipiteilläni.)


Sivun alkuun

Vastaus

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

Tietoa sivustosta