Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism Hilfe bei writeprocessmemory (https://www.delphipraxis.net/117061-hilfe-bei-writeprocessmemory.html)

wadimwadim 10. Jul 2008 22:11


Hilfe bei writeprocessmemory
 
Hallo, ich habe eine adresse, auf die ich gerne schreiben möchte... leider kenne ich nicht die typen, die ich dafür benutzen soll.
Mit integer typen geht es ohne probleme, nur hier weiss ich nicht, was ich tun soll.

Die adresse : $00D36448, die ich hiermit (3.18094751401733E-43) füllen will, hab das hier versucht...

Delphi-Quellcode:
var
  WindowHandle :               Hwnd;
  ThreadId,
  ProcessId,
  Handle :                     Integer;
  Bytes :                  Cardinal;
  Stat :   Extended;
begin
  WindowHandle:= FindWindow (nil,'name');
  ThreadId:= GetWindowThreadProcessId(WindowHandle, @ProcessId);
  Handle:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
  WriteProcessMemory(Handle, ptr($00D36448), @Stat, 4, Bytes);
end;
weiss nicht welche typen ich bei bytes und stat benutzen soll

Zacherl 10. Jul 2008 23:51

Re: Hilfe bei writeprocessmemory
 
Bytes ist schonmal okay als Cardinal bzw DWord. Handle sollte allerdings vom selben Typ sein. Deine andere Frage verstehe ich nicht ganz. Du musst wohl einen 4 Byte großen Gleitkommatyp wählen ..

brechi 8. Aug 2008 18:50

Re: Hilfe bei writeprocessmemory
 
Du solltest folgendes probieren:

stat := 0;

WriteProcessMemory(Handle, ptr($00D36448), @Stat, SizeOf(Stat), Bytes);


wobei für Stat: Single (4byte), Double(8byte), Extended(10byte) getestet werden sollte
dein Problem liegt bisher dadrin, dass du einen Extended schreiben willst, aber davon nur 4 bytes schreibst, und dieser 10 bytes groß ist

deshalb SizeOf verwenden. Zu 98% (da du den Code wohl kopiert hast) wird es sich um einen Single handeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz