Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.07.2012, 15:59

Laufzeitspeicherbereich eines laufenden Prozesses auslesen

Hallo alle zusammen,

Es geht darum, dass ich gerne mit einem selbst geschriebenem Programm, lesend auf den benutzten Speicher eines anderes Programms zugreifen möchte. Das hat folgenden Grund: Ich würde gerne z.B. Rennspiele auslesen und diese dann per USB an ein Board schicken auf dem ein µController steht der dann Geräte steuert wie eine analoge Anzeige der Geschwindigkeit, Drehzahl und so weiter. Wie ich theoretisch an die Daten komme wenn ich Zugriff auf den Speicherbereich habe ist nicht das Problem. Auch von der Materie mit dem Board etc. habe ich Ahnung, sowie von C++ in verschiedenen Bereichen (MFC, DirectX, bisschen . Net). Das ganze muss nur unter Windows funktionieren, bei Windows würde ich jedoch soweit wie möglich an der Oberfläche bleiben, sprich keine Bibliotheken á la: OpenProcess(), ReadProcess(), CloseProcess() da ich auch einen möglichst großen didaktischen Nutzen daraus ziehen möchte :)
Gerne auch Dokumentationen in Englisch oder sonst irgendwas, Google habe ich auch schon probiert allerdings entweder nur Müll gefunden oder solche: "Ich muss NICHTS mehr selber machen"-Bibliotheken.

Danke im voraus
Tim

2

31.07.2012, 00:58

"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

31.07.2012, 06:38

Wenn Du Pech hast, dann ist Dein Vorhaben unmöglich, weil solche Werte gar nicht in irgendwelchen festen Variablen stehen, sondern dynamisch ausgerechnet werden und nur lokal mal kurzzeitig im Stack gelagert werden.
Ohne Open- und ReadProcess wird es aber nicht gehen, weil das die einzigen Schnittstellen sind, mit denen Du überhaupt Zugriff bekommen kannst und darfst. Selber Prozess-übergreifend auf fremden Speicher zugreifen zu wollen ist dank Speichervirtualisierung gar nicht möglich, dazu müsstest Du die Descriptor-Tabellen kennen und die entsprechenden Register ändern dürfen, für welche nur der Kernel genug Rechte hat. Wir sind schließlich nicht mehr in DOS-Zeiten, sorry.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (31.07.2012, 06:44)


Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

4

31.07.2012, 19:40

Also könntest du ein Kernelmodul schreiben und auf dem Weg auf den Prozess zugreifen! ;P
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

5

01.08.2012, 10:27

Oder schauen, ob man einfach über eine Modding-API oder ein gemoddetes Skript im Spiel selbst diese Informationen rausreichen könnte.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige