Hi @ll, Ich bekomme es irgendwie nicht hin, den Speicher eines Prozesses, aus einer Injezierten Dll heraus zu ändern!
Von außerhalb ist das alles kein Problem!!! (CAPTION und Pointer sind KORREKT!!!).
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| twnd := findWindow(nil, CAPTION); GetWindowThreadProcessId(twnd,@tpid); thprocess := OpenProcess(PROCESS_ALL_ACCESS, False, tpid); rr := WriteProcessMemory(thprocess, Ptr($00A3386F),@by, 1,fool); if not rr then messagebox(0, PChar( Format('wnd:%d|pid:%d|hprocess:%d',[twnd, tpid, thProcess]) ), nil,0); |
Die MessageBox zeigt 3 korrekte Werte an. (also <> 0, ProzessID überprüft, stimmt auch).
Trotzdem liefert WriteProcessMemory false, warum?