-
czy majac adres zmiennej w pamieci da sie przekazac do niej wartosc???
witam
chcialmbym zadac takie oto pytanie
czy posiadajac adres jakiejkolwiek zmiennej uzywanej przez jakis program w pamieci, dalo bys sie przekazac do niej wartosc z poziomu c++ lub c? chodzi o to czy dało by się ustawic by wskaznij wskazywal na dane miejsce w pamieci?
ewentualnie jakas wstawka w asemblerze
Ostatnio edytowane przez matmat0123456789 : 11-03-2010 - 06:49
-
pewnie ze mozna, np za pomoca win32
Program antymiganie
w tym akurat przypadku nie jest modyfikowana zmienna a kod programu, aczkolwiek znajac offset 32 bitowy mozna mofydikowac zmienne a nawet cala tablice.
-
a znajac konkretny adrez zmiennej w pamieci?
-
jedynie offset pamieci procesu, mozesz go pobrac np taka instrukcja w jezyku c ( zalozny ze to proces do ktorego chcesz sie odwolywac ):
int zmienna;
printf("%p",&zmienna);
pozniej jesli offset sie nie zmieni mozesz sie do niego odwolywac.
zmienne lokalne funkcji leza na sekcji stosu ( stack ), dynamiczne w pamieci sterty ( heap ) a globalne zazwyczaj w odpowiedniej sekcji pamieci ( data ).
jesli nie znasz adresu do zmiennej i nie jestes autorem musisz rozkladac exe / pe na sekcje i analizowac kod programu, co latwa sprawa nie jest.
-
aha czyli takie buty dzieki juz wiem o co chodzi to tak jak przy bufer overflow z tym offsetem od zmiennej tej zadeklarowane przesuwam sie po segmentach i docieram do zmiennej celu
-
tak dodatkowo do topicu moge dodac ze
da sie szperac w dowolnym miejscu pamieci, ale lepiej bedzie to robic z poziomu kernela.
Nie trzeba walczyc z tokenami dostepu do pamieci do niektorych procesow.
Z userspace musialbys do co poniektorych procesow uzyskac token dostepu, bit 0/1. Uzyskac informacje na temat adresow pamieci wirtualnej i pamieci RAM mozesz w ten sposob uzyskac. Nie wiem czy do czegos sie to przyda, ale tak na marginesie to dodalem.
-
tak dodatkowo do topicu moge dodac ze
da sie szperac w dowolnym miejscu pamieci, ale lepiej bedzie to robic z poziomu kernela.
Nie trzeba walczyc z tokenami dostepu do pamieci do niektorych procesow.
Z userspace musialbys do co poniektorych procesow uzyskac token dostepu, bit 0/1. Uzyskac informacje na temat adresow pamieci wirtualnej i pamieci RAM mozesz w ten sposob uzyskac. Nie wiem czy do czegos sie to przyda, ale tak na marginesie to dodalem.
Jedynie do ładnego Dumpu pamieci jakiegos procesu
Zasady Postowania
- Nie możesz zakładać nowych tematów
- Nie możesz pisać wiadomości
- Nie możesz dodawać załączników
- Nie możesz edytować swoich postów
-
Forum Rules