Speicherzugriff- zwei Testprogramme
-
Hallo zusammen,
in einem anderen Forum fand Ich ein Tutorial zum auslesen und verändern von Speicheradressen.
Ok, vom Prinzip her funktionieren meine beiden Testprogramme denke Ich (es entstehen keine Fehlermeldungen).
Jedoch findet mein zweites Programm, welches im späteren lesen soll, den Prozess, das erste Programm nicht.Vielleicht könnt Ihr mir meine(n) Fehler zeigen? Aber seht selbst:
- Opferprogramm (Opfer.exe):
#include <iostream> #include <windows.h> using namespace std; int i = 15; int main(void) { cout << i << "\t" << &i << endl; Sleep(10000); cout << i << "\t" << &i << endl; Sleep(10000); return 0; }
- Suchprogramm:
#include <windows.h> #include <iostream> using namespace std; int main(void) { HWND hWnd; hWnd = FindWindow(0,"Opfer"); if(!hWnd)// { cout << "nicht gefunden\n"; } else { cout << "gefunden\n"; } Sleep(5000); return 0; }
Vielen Dank für eure Hilfe und eure Zeit.
-
- ich sehe nur FindWindow. Was hat das mit dem Auslesen von Speicheradressen zu tun?
- FindWindow ist Windos-spezifisch und kein Standard-C++. Wenn es dazu Fragen gibt wird dir vermutlich im WinAPI-Forum besser geholfen (siehe auch Link in meiner Signatur).
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx
Es gibt nix zu finden für dein Suchprogramm.
-
Hallo, versuchs mal so.
#include <iostream> #include <windows.h> using namespace std; void main() { int i = 15; SetConsoleTitle("opfer"); while(1) { cout <<"i hat den wert:" << i << "i steht an der speicheradresse: " << &i << endl; Sleep(1000); } }
Ich hab das mal in eine while Schleife gepackt da du sicher nachher mit WriteProcessMemory rum experimentieren möchtest. Das ganze macht doch mehr Spass wenn man in nur 1 Sekunde den erfolg seiner Arbeit sehen kann.
Für das lesen von Speicheradresse schau dir ReadProcessMemory an und fürs schreiben WriteProcessMemory
www.google.de
Dann gib ein: msdn ReadProcessMemoryso findest du immer schnell die WIN API Funktion die du suchst. (Vorausgesetzt du weisst welche Funktion du suchst.
)
Ps.
Wenn du das ohne FindWindow machen möchtest dann solltest du dir mal Process32First und Process32Next anschauen.http://msdn.microsoft.com/en-us/library/windows/desktop/ms684834(v=vs.85).aspx
-
Bassmaster schrieb:
SetConsoleTitle("opfer");
[/cpp]... das jetzt noch mit großem O