direktes auslesen des arbeitsspeichers mit C
-
hallo, ich denke mein thema passt hier rein?! mal sehen
mich würde allgemein die direkte kommunikation mit dem speicher
interessieren! in welchen speicher kommen eigentlich die variablen wenn
ich sie deklariere?dieses prog zeigt mir erst die adresse und inhalt von der vari test an.
wenn ich aber wie hier noch 3 weiter gehe, zeit er ja weitere inhalte
von anderen variablen an?!int test=100,i; int *p_test=&test; for(i=0;i<=3;i++) { printf("wert: %i | \t\t pointer: %x \t | \t %u\n",*p_test,p_test,p_test); p_test++; }
meine eigentlich frage ist, kann man den kompletten speicher aller
variablen des OS auslesen? mache ich das so wie in diesem kleinen programm,
oder was lese ich da aus?also wie kann ich das machen?
würde mich mal interessieren!
danke schonmal, Babelduo
-
Das OS kickt dich, wenn du Speicher ausliest, der nicht dem eigenen Programm gehört. Ich kann dir eigentlich nur den Rat geben, ein bisschen mit nem Assembler zu arbeiten, das wird dir das nötige Grundwissen bringen.
-
Windows weist jedem Programm einen virtuellen Adressraum zu. Du kannst so direkt gar nicht auf den Speicher anderer Programme zugreifen.
-
babelduo schrieb:
meine eigentlich frage ist, kann man den kompletten speicher aller
variablen des OS auslesen? mache ich das so wie in diesem kleinen programm,
oder was lese ich da aus?Ausserdem kannst du ohne weiteres auch nicht feststellen, wo Variablen beginnen. Ließt du ein Byte aus, weißt du nicht, ob du einen Teil eines doubles, eines ints oder was ganz anderes erwischt. Variablen kannst du so nicht erkennen.
Hinzukommen natürlich oben ganannte Schwierigkeiten.