martin
Well-Known Member
Hi
ich weiß nicht ob ich hier im richtigen Unterforum bin, aber ich möchte mein Wissen etwas auffrischen und das anhand eines C Programmes, also probiere ich es einfach mal hier.
Aber der Reihe nach...Ich möchte den Ganzen Speichervorgang von Dateien bzw. Variablen (in den RAM) etwas genauer verstehen. Mir ist nämlich diese Ganze Sache bzgl. Datenwiederherstellung sehr schleierhaft.
Egal... wie gesagt, um da den besseren Durchblick zu erhalten und gleichzeitig meine C-Kenntnisse etwas aufzufrischen, möchte ich gerne ein C-Programm schreiben. Beginnen möchte ich mit ganz was Einfachem, nämlich eine Variable zu deklarieren und anschließend herauszufinden, wo sich diese Variable im RAM befindet. Dies sollte eigentlich, soweit ich das halbwegs richtig verstanden habe, mit einem Pointer relativ einfach zu machen sein.
Allerdings bekomme ich damit natürlich "nur" die Startadresse raus, meine erste Frage ist deshalb, ob es eine Möglichkeit gibt, herauszufinden bis zu welcher Adresse die Variable den Speicher belegt?
Anschließend möchte ich versuchen einfache Daten aus dem Speicher rauszulesen. Ich hab mir das so vorgestellt, dass ich da evtl. Start und EndAdresse eingebe und mir dann alles dazwischen ausgeben lasse.
Ich habe das C-Programm zum "Auslesen" der StartAdresse mittels Pointer schon gemacht, beim Rest bin ich hoffnungslos überfordert.
Ich weiß, google ist mein Freund, aber habe das Ganze nicht aus Faulheit hier gepostet, sondern weil ich hoffe, dass mir jemand nicht einfach nur den Code herklatscht, sondern vielleicht auch eine kleine Erklärung geben kann.
Ist dieser erste Schritt mal geschafft, möchte ich das Ganze auf Dateninhalte auf der Festplatte ausweiten, aber dazu später.
ich bedanke mich schonmal im voraus...
Gruß
ich weiß nicht ob ich hier im richtigen Unterforum bin, aber ich möchte mein Wissen etwas auffrischen und das anhand eines C Programmes, also probiere ich es einfach mal hier.
Aber der Reihe nach...Ich möchte den Ganzen Speichervorgang von Dateien bzw. Variablen (in den RAM) etwas genauer verstehen. Mir ist nämlich diese Ganze Sache bzgl. Datenwiederherstellung sehr schleierhaft.
Egal... wie gesagt, um da den besseren Durchblick zu erhalten und gleichzeitig meine C-Kenntnisse etwas aufzufrischen, möchte ich gerne ein C-Programm schreiben. Beginnen möchte ich mit ganz was Einfachem, nämlich eine Variable zu deklarieren und anschließend herauszufinden, wo sich diese Variable im RAM befindet. Dies sollte eigentlich, soweit ich das halbwegs richtig verstanden habe, mit einem Pointer relativ einfach zu machen sein.
#include <stdio.h>
int main (void) {
int test = 2233;
printf("Zeiger:%p\n", &test);
return 0;
}
Allerdings bekomme ich damit natürlich "nur" die Startadresse raus, meine erste Frage ist deshalb, ob es eine Möglichkeit gibt, herauszufinden bis zu welcher Adresse die Variable den Speicher belegt?
Anschließend möchte ich versuchen einfache Daten aus dem Speicher rauszulesen. Ich hab mir das so vorgestellt, dass ich da evtl. Start und EndAdresse eingebe und mir dann alles dazwischen ausgeben lasse.
Ich habe das C-Programm zum "Auslesen" der StartAdresse mittels Pointer schon gemacht, beim Rest bin ich hoffnungslos überfordert.
Ich weiß, google ist mein Freund, aber habe das Ganze nicht aus Faulheit hier gepostet, sondern weil ich hoffe, dass mir jemand nicht einfach nur den Code herklatscht, sondern vielleicht auch eine kleine Erklärung geben kann.
Ist dieser erste Schritt mal geschafft, möchte ich das Ganze auf Dateninhalte auf der Festplatte ausweiten, aber dazu später.
ich bedanke mich schonmal im voraus...
Gruß