Speicherbereich eines anderen Prozesses ermitteln



  • Guten Tag

    Ich versuche mich gerade an einem Prozess-Überwach-Programm, und dazu muss ich auf den Speicher des jeweiligen Programms überwachen.
    Ich habe zum Vergleich ein ähnliches Programm genommen und die Ergebnisse verglichen.
    Nun wollte ich mal Grundlegend wissen, wie genau man den Speicherbereich einer anderen Applikation auslesen kann? Also ich habe folgendes gemacht:

    PID = OpenProcess(PROCESS_READ_WRITE_QUERY, 0, ProcessID)

    dann den Gesammtspeicherverbrauch (wie auch im Taskmanager angezeigt), genommen und dann quasi diesen Adressbereich gescannt (also z.B von 0x00000000 - 0x00240000). Dann habe ich meine Ergebnisse mit denen des anderen Programms vergleichen. Nun musste ich drei Dinge zu meiner Überraschung feststellen:

    1. Das andere Programm fand mehr Übereinstimmungen des Such-Strings (auch ausserhalb des von mir errechneten Bereichs?!).
    2. Das andere Programm durchsuchte weniger Speicher
    3. Das andere Programm war um ein Vielfaches schneller (meins ~20s anderes Programm ~0.1s)

    Dieses Ergebniss lässt darauf schliessen, daß ich irgendwas falsch mache 😛
    Hat vieleicht jemand schon damit experimentiert, oder kann mir sagen wie genau ich den durchsuchenden Speicher feststellen kann (StartAddresse - EndAddresse) ?

    Schonmal Danke im Voraus 🙂


Anmelden zum Antworten