![]() |
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:
weiss nicht welche typen ich bei bytes und stat benutzen soll
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; |
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 ..
|
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 08:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz