Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Mit CreateFile auf's RAM zugreifen (https://www.delphipraxis.net/29640-mit-createfile-aufs-ram-zugreifen.html)

Dax 12. Sep 2004 14:15


Mit CreateFile auf's RAM zugreifen
 
Mit CreateFile kann man ja auf so ziemlich alles Zugreifen, das Read/Write-Support hat (Disketten, Platte, CDs, Pipes, ...). Kann man mit CreateFile auch auf's RAM Zugreifen oder MUSS man immer ReadProcessMemory oder WriteProcessMemory benutzen?

BtW: GetMem kann ich in diesem Fall nicht benutzen, da ich den Speicher schon intialisiert habe.

mytar 12. Sep 2004 14:26

Re: Mit CreateFile auf's RAM zugreifen
 
Nimm doch Streams!

Schau dir TStream, TMemoryStream und TFileStream in der OH an. :thumb:

Dax 12. Sep 2004 14:26

Re: Mit CreateFile auf's RAM zugreifen
 
Das ist es ja!

Ich wollte es OHNE Streams machen.

w3seek 12. Sep 2004 15:42

Re: Mit CreateFile auf's RAM zugreifen
 
Stichworte: ZwOpenSection() und MapViewOfFile()

Dax 12. Sep 2004 15:51

Re: Mit CreateFile auf's RAM zugreifen
 
Ich habe irgendwo mal gelesen, mit Createfile() gings auch. Stimmt das?

Chewie 12. Sep 2004 16:34

Re: Mit CreateFile auf's RAM zugreifen
 
Mit CreateFile erstellst du ein Geräteobjekt eines Treibers. Treiber gibt es für Laufwerke wie CDROM, Diskette, Festplatte, nicht aber für den RAM.

NicoDE 12. Sep 2004 17:02

Re: Mit CreateFile auf's RAM zugreifen
 
Zitat:

Zitat von Dax
Mit CreateFile kann man ja auf so ziemlich alles Zugreifen, das Read/Write-Support hat (Disketten, Platte, CDs, Pipes, ...). Kann man mit CreateFile auch auf's RAM Zugreifen oder MUSS man immer ReadProcessMemory oder WriteProcessMemory benutzen?

Das jeweils eine hat mit dem jeweils anderen nicht viel zu tun...

Zitat:

Zitat von Dax
BtW: GetMem kann ich in diesem Fall nicht benutzen, da ich den Speicher schon intialisiert habe.

Hm? Kann der Logik nicht folgen, sorry.

[edit] lang lebe dem Genetiv [/edit]

Dax 13. Sep 2004 13:44

Re: Mit CreateFile auf's RAM zugreifen
 
Ich meine mal hier in der DP einen Beitrag über eine Technik gelesen zu haben, über die mat CreateFile() auf's RAM zugreifen kann, weiss aber nicht mehr, wie der Beitrag hiess. Die Forensuche zu bemühen war auch ziemlich sinnfrei: 0 Ergebnisse.

Also wollte ich mal Fragen, ob das geht oder ob ich mich womöglich verlsen habe.

NicoDE 13. Sep 2004 13:59

Re: Mit CreateFile auf's RAM zugreifen
 
Zitat:

Zitat von Dax
Ich meine mal hier in der DP einen Beitrag über eine Technik gelesen zu haben, über die mat CreateFile() auf's RAM zugreifen kann, weiss aber nicht mehr, wie der Beitrag hiess.

CreateFile (bzw. die Win32-API allgemein) kann keine NT-Kernel-Objekte per Namen öffnen. Da das Objekt für den 'Physikalischen Speicher' (was Du wahrscheinlich mit RAM meinst) '\Device\PhysicalMemory' heisst, wird es sich allein schon wegen des Backslashes nicht per Win32-API öffnen lassen. Die Sicherheitsbeschreibung des Objektes erlaubt Mitgliedern der lokalen Gruppe der Administratoren lesenden Zugriff. Was durchaus verständlich ist, da ein schreibender Zugriff [am Betriebssystem (und zum Beispiel dessen Paging-Verwaltung) vorbei] fatale Folgen haben dürfte.

ps: such mal nach BiosHelp

Dax 13. Sep 2004 14:01

Re: Mit CreateFile auf's RAM zugreifen
 
Lesen allein reicht mit ja schon, da liegt also nicht das Problem. Nur wollte ich wissen, wie man mit CreateFile() auf's RAM zugreifen kann, schreiben muss ich nicht, dafür habe ich WriteProccessMemory().

Luckie 13. Sep 2004 14:06

Re: Mit CreateFile auf's RAM zugreifen
 
Das Gegenstück zu MSDN-Library durchsuchenWriteProcessMemory heißt MSDN-Library durchsuchenReadProcessMemory. Falls es das ist, was du suchst.

Dax 13. Sep 2004 14:09

Re: Mit CreateFile auf's RAM zugreifen
 
Diese Antowrt musste ja kommen. :P
Aber das ist nich das, was ich suche. Ich suche eine Möglichkeit, den Inhalt des RAMs auszulesen, wie Mirkes Hex-Editor, wer den kennt. Oder, besser verständlich: Um den RAM-Inhalt auf die Festplatte zu schieben.

NicoDE 13. Sep 2004 14:20

Re: Mit CreateFile auf's RAM zugreifen
 
Zitat:

Zitat von Dax
Nur wollte ich wissen, wie man mit CreateFile() auf's RAM zugreifen kann, schreiben muss ich nicht, dafür habe ich WriteProccessMemory().

Ich glaube fast, dass wir immer noch aneinander vorbeireden.
WriteProcessMemory bezieht sich auf den virtuellen Adressraum eines Prozesses. Ich habe oben von dem physikalischen Speicher-Objekt geschrieben.

Mir ist in Windows kein benanntes Kernel-Objekt für virtuelle Adressräume von Prozessen bekannt (und selbst dann könnte man es wahrscheinlich nicht mittels CreateFile öffnen).

Kurz, die Antwort ist: Nein.

Dax 13. Sep 2004 14:23

Re: Mit CreateFile auf's RAM zugreifen
 
Ich dachte immer, das ginge....

Aber wenns schon mit dem RAM nicht geht, wie kann dann auf Platten zugreifen?

NicoDE 13. Sep 2004 14:29

Re: Mit CreateFile auf's RAM zugreifen
 
Zitat:

Zitat von Dax
Aber wenns schon mit dem RAM nicht geht, wie kann dann auf Platten zugreifen?

RTFMSDN :)
http://msdn.microsoft.com/library/en...createfile.asp


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz