Ram auslesen?
Hallo gibt es ein Programm welches die Aktuellen Dateien im Ram auslesen kann?
wofür brauchst du das gibt mehrere methoden
Reines Interesse
Willst du das bei einem PC oder bei einem Mikrocontroller auslesen?
gaming pc...was ist dis andere
3 Antworten
Ein Programm dafür kenne ich nicht.
Das würde meiner Meinung nach auch nicht funktionieren, denn in dem Moment in dem das Programm läuft würde vim Programm selbst ein Teil des RAM benutzt werden und dadurch die Daten die du eigentlich auslesen willst verfälschen.
Das kannst du nur über einen Debugger machen oder über Hardware mit z.B. einem Logicanalyzer.
Nein, die verändern sich nicht, nur weil ein neues Programm dazu kommt.
Da wo Platz ist.
Der RAM ist nicht sortiert, das Zeug liegt irgendwo, wo halt gerade Platz ist.
Und wenn ein neues Programm da ist, legt das seine Daten irgendwo anders ab, wo halt gerade Platz ist.
Die Programme, die schon liefen, interessiert das nicht.
Gilt aber nur wenn noch Platz ist für das neue Programm.
Evtl. könnte man auch das Programm nur auf der Festplatte laufen lassen über DMA oder wenn es ganz klein ist im Cache.
Wenn kein Platz für das neue Programm da ist, dann ist der RAM voll und Windows steht still.
Ob man Windows anweisen kann, ein Programm über die SSD laufen zu lassen, weiß ich nicht, aber das wäre auch ziemlich sinnlos, denn dann könnte man es nicht vernünftig nutzen, dafür ist selbst die schnellste SSD noch viel zu langsam.
Windows kann das aber in jedem Fall, denn es lagert auf HDD/SSD aus, wenn der RAM voll ist.
Und nochmal: Es ist egal.
Solange das neue Programm die Daten der anderen Programme nicht aktiv manipuliert, macht das keinen Unterschied.
Ja klar man kann ja virtuellen RAM auf HDD/SSD auslagern.
Ein Programm das die Daten der einzelnen Speicherzellen des RAM´s ausliest und dann auf die HDD spiegelt muss gar nicht gross sein, wenn man sowas in Assembler programmiert hat das nur einige Kilobyte.
Man muss halt nur über DMA von Prozessor direkt auf die HDD/SSD schreiben können.
Ja klar man kann ja virtuellen RAM auf HDD/SSD auslagern.
Weiß ich, die Frage war, ob man ein einzelnes Programm *vor* dem Start auch darauf beschränken kann.
Ein Programm das die Daten der einzelnen Speicherzellen des RAM´s ausliest und dann auf die HDD spiegelt
Könnte möglich sein, aber vermutlich nicht einfach. Denn wenn man die üblichen Schnittstellen von Windows nutzt, landen die Daten erst im Cache (also RAM) und Windows gibt sie dann "irgendwann" später zum Datenträger.
Und selbst wenn, dann hilft das nichts, denn man kann sie sich nicht anschauen, ohne sie in den RAM zu laden.
Man könnte den Datenträger in einen anderen PC einbauen und dort die Daten anschauen, allerdings sieht man dann nur den alten Stand, der sich seit dem garantiert wieder geändert hat.
Und selbst wenn das alles möglich wäre: Warum sollte man das tun?
Es ist absolut sinnlos...
Naja ich programmiere seit über 30 Jahren Mikrocontroller und Embedded Systeme, meistens Echtzeitanwendungen, da schiebt man wirklich noch einzelne Bits von Speicherzellen in die ALU des Prozessors usw.
Programmieren in C oder gar C++ wäre da schon viel zu langsam. Da man hier alles "zu Fuss" macht ist man auch nicht von einem Betriebssystem eigeschränkt und man kann sozusagen alles machen.
Deshalb tue ich mich auch schwer sowas auf einem PC mit Windows umzusetzen.
Aber dafür gibts ja Debugger.
Du kannst Windows aber nicht mit Mikrocontrollern vergleichen :D
Man könnte vielleicht noch Daten im CPU-Cache behandeln, aber das müsste - nach deiner Logik - ja erst recht andere Programme beeinflussen.
Und da sind wir wieder beim Anfang:
Ein Programm, das nicht aktiv manipuliert, beeinflusst keine anderen Programme.
Oder es ist scheiße programmiert, aber das würde ich auch unter "Manipulation" laufen lassen.
Wenn man die Daten verstehen will, muss man natürlich unterscheiden können, welche Daten zu welchem Programm gehören, aber da wird nichts verfälscht.
Naja im Endeffekt ist es auch nur ein Computer auf dem Windows läuft und der funktioniert genauso wie ein Mikrocontroller, nur etwas grösser :)
Nur, dass eben Windows drauf läuft und mitmischen will.
Und hier geht es um das Auslesen von RAM-Daten. Selbst wenn Du die Daten auf die HDD bekommen könntest, ohne auch nur ein einziges Byte in einem Cache oder dem RAM abzulegen, hättest Du immer noch das Problem, dass Du sie nicht anzeigen kannst. Ergo: Aufgabe verfehlt.
Und nochmal: Warum sollte man das tun?
Es ist absolut sinnlos...
Es gibt keine "Dateien" im RAM.
Jedes Programm allokiert so viel Platz, wie es gerade für ein Stück Daten braucht und das liegt dann irgendwo.
Diese Daten kann aber der HxD auslesen. Zurecht sortieren musst Du das aber selber.
Wie jtz?
Es gibt keine Dateien im RAM.
Und was meinst du mit HxD?
HxD ist ein Programm.
Habe ich doch geschrieben:
Jedes Programm allokiert so viel Platz, wie es gerade für ein Stück Daten braucht und das liegt dann irgendwo.
aber dann sind ja doch daten im ram!?!
hä? sorry bin zu dimm dafür
Ja, aber nicht als "Dateien", wie man "Dateien" so kennt.
Es gibt kein Anfang oder Ende und dazwischen sind alle Daten. Und es gibt auch keine Namen oder irgendwelche Informationen dazu.
Die Daten sind unsortiert, nur das Programm weiß, wo was liegt - oder jemand, der sich die riesige Arbeit macht, alles abzusuchen und zu analysieren. Und der muss dann auch damit umgehen können, dass sich die Position der Daten ständig ändern können.
wenn du hacks für spiele programmieren iwllst lern erstmal c++ und dann fang es erst an eindeutiger geht fast nichtmehr
Da wird nichts verfälscht.
Nur weil Du ein weiteres Programm startest, ändern sich nicht plötzlich die Daten der anderen Programme.