Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.

How can I access the memory space of another process?

If I am running, say, notepad, and I want to make a program to locate the memory space of the process and grab the text displayed on the screen directly from memory, how would I go about doing it? Can I do it in a higher-level language like C++? Can I do it without circumventing kernel-level address space protection?

I have a good idea of how virtual and physical memory work, but I'm a little fuzzy on OS-level protection and allocation. Any links or tips would be appreciated.

Update:

I am not interested in making two programs that share memory, but rather a single program that is able to access the memory of another (eg. notepad). re - "you cannot just reach into the memory of any process" - I know it can be done, I'm just not sure how, and that's what I'd like to know.

1 Antwort

Relevanz
  • Anonym
    vor 1 Jahrzehnt
    Beste Antwort

    There are a number of interprocess communication objects that you can use for this type of thing. It does mean the programs have to be designed in cooperation - you cannot just reach into the memory of any process.

    In a previous job we used shared memory across a number of activeX controls, DLL's, etc. to record what was happening in the systems (communication logs, data structures, etc.) and had one central application that could display that information. It was all intended to diagnose problems in the system.

    You are going to want to look at shared memory and such. I've provided a reference that can get you started.

Haben Sie noch Fragen? Jetzt beantworten lassen.