| Autor |
Beitrag |
fbiel
Hält's aus hier
Beiträge: 14
win 2000,debian 3.0
D7 Enter,Kylix 3
|
Verfasst: Mi 05.11.03 19:30
hi,
wie kann man einen wert, z.b. eine integervariable an eine adresse im ram speichern.
ich habe jetzt
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure blabla; var zeiger:^integer; begin
zeiger:=Pointer(StrToint(Edit1.text)); showmessage('Der Wert an der Stelle '+edit1.text+' ist '+IntToStr(zeiger^)); end; |
so, das funktioniert auch solange ich beide programme gleichzeit laufen lasse, is ja logisch. aber wenn ich jetzt das programm beende, wird ja der wert an der adresse...... gelöscht. wie kann ich den wert auch noch nach dem beenden gespeichert lassen, sodass der dann mit dem obigen prg ausgelesen werden kann.
ich weiß das ganze ist eigentlich sinnlos, aber ich brauchs für die schule.
mfg
fbiel
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 05.11.03 19:48
IMHO ist das nicht möglich, vor allem nicht unter dem heutigen Windows. Jede Applikation bekommt dabei einen bestimmten Speicherbereich zugewiesen und hat keinen Zugriff auf anderen. Deswegen wirst Du es mit Delphi nicht hinkriegen in den Speicherbereich anderer Programme zu schreiben, sondern nur in dem Dir zugewiesenen. Und damit kann ein anderes Programm nicht aus Deinem oder auch Deinem ehemaligen Speicherbereich lesen.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 05.11.03 20:12
Klar geht das. Mir VirtualAllocEx speicher im Fremden Prozess reservieren und dne kann man mit ReadMemory auslesen und mit WriteMemory beschreiben. Eine andere Möglichkeit wären InjectDLLS oder MemoryMappedFiles. Siehe dazu auch das Hooking Tutorial von Assarbad: www.luckie-online.de/tutorials/assarbad/
|
|
UC-Chewie
      
Beiträge: 531
WinXP
D5 Ent
|
Verfasst: Mi 05.11.03 20:49
Ich würd MMFs (Memory Mapped Files) empfehlen. Ist relativ einfach, VirtualAlloc ist etwas komplizierter anzuwenden.
_________________ Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 05.11.03 21:34
OK, ich nehm alles zurück und behaupte das Gegenteil. 
|
|
fbiel 
Hält's aus hier
Beiträge: 14
win 2000,debian 3.0
D7 Enter,Kylix 3
|
Verfasst: Do 06.11.03 17:38
hi,
irgendwie versteh ich net wie das so gehen soll. kann vielleicht jemand nen kleinen sourcecode posten. am besten mit der VirtualAllocEx Methode, das scheint mir am besten, soll ja net so kompliziert sein, is ja nur für schule.
thx
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: Do 06.11.03 20:06
| fbiel hat folgendes geschrieben: | | is ja nur für schule. |
Wenn das eine Hausaufgabe sein sollte, dann wird dir dein Lehrer das dazu notwendige Knowhow, sofern er es euch nicht selbst beigeracht hat, wohl nicht abkaufen.
_________________ Ist Zeit wirklich Geld?
|
|
fbiel 
Hält's aus hier
Beiträge: 14
win 2000,debian 3.0
D7 Enter,Kylix 3
|
Verfasst: Fr 07.11.03 15:58
| AndyB hat folgendes geschrieben: | | fbiel hat folgendes geschrieben: | | is ja nur für schule. |
Wenn das eine Hausaufgabe sein sollte, dann wird dir dein Lehrer das dazu notwendige Knowhow, sofern er es euch nicht selbst beigeracht hat, wohl nicht abkaufen. |
wir sollen uns das ja selbst erabrieten,
aber hat sich jetzt schon erledigt, ich habs noch hinbekommen
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 07.11.03 16:29
Es gebietet eigentlich die Höflichkeit, dass wen man selbst die Lösung findet, sie auch hier postet. 
|
|