Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 07:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Question] WriteProcessMemory With Pointer & Offset !?

Discussion on [Question] WriteProcessMemory With Pointer & Offset !? within the C/C++ forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
Exclamation [Question] WriteProcessMemory With Pointer & Offset !?

Wie schreibe ich mit WriteProcessMemory zu einen Offset mit Pointer ?!
xBioK1ngz is offline  
Old 02/19/2012, 17:46   #2
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Nightblizard is offline  
Old 02/19/2012, 17:48   #3
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
Ahja, wie mach ich jetzt damit ein Offset mit Pointer ?
xBioK1ngz is offline  
Old 02/19/2012, 18:20   #4
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Quote:
Originally Posted by xBioK1ngz View Post
Ahja, wie mach ich jetzt damit ein Offset mit Pointer ?
Huh? Könntest du dich bitte ein wenig genauer ausdrücken? Unter "ein Offset mit Pointer machen" kann ich mir leider nichts vorstellen.


Edit:
Aber ich glaube du meinst das hier:
Code:
UINT_PTR ptr = 0xDEADBEEF;
UINT_PTR offset = 0xBOOB5
int value = 0;
SIZE_T numWritten = 0;
WriteProcessMemory(process, reinterpret_cast<LPVOID>(ptr + offset), reinterpret_cast<LPCVOID>(value), sizeof(value), &numWritten);
Nightblizard is offline  
Old 02/19/2012, 18:23   #5
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
INT iValue = 999;
DWORD dwAmmoPtr = *(DWORD*)0x91A814;
DWORD dwAmmoOfs = *(DWORD*)(dwAmmoPtr+0xFFF12);
WriteProcessMemory(hProcessHandler,(LPVOID)dwAmmoO fs,&iValue,sizeof(iValue),0);

Habe in Cheat Engine eine Addresse gefunden, die den Pointer "0x91A814" hat und das Offset "0xFFF12".
Jetzt möchte ich es mit "WriteProcessMemory" auf INT "999" schreiben, aber es funktioniert nicht.
xBioK1ngz is offline  
Old 02/19/2012, 18:29   #6
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
So schreibst du die Adresse von iValue in den Speicher. Du musst nach LPCVOID casten.
Außerdem solltest du Adressen nicht in int speichern, sondern in UINT_PTR. Der Typ garantiert dir immer groß genug zu sein, um einen Pointer beinhalten zu können.
Und du solltest C++-Casts nutzen, die sind sicherer als C-Casts.



Edit:
Nein, warte. Vergiss den ersten Satz. Ich schau nochmal nach dem Bearbeiten...
Nightblizard is offline  
Old 02/19/2012, 18:34   #7
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
Wie funktioniert das jetzt genau ??
xBioK1ngz is offline  
Old 02/19/2012, 18:41   #8
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Okay, da du die Pointer direkt dereferenzierst scheinst du wohl im fremden Prozess zu arbeiten. Dann brauchst du WriteProcessMemory gar nicht.

Code:
UINT_PTR* ammoPtr = reinterpret_cast<UINT_PTR*>(*reinterpret_cast<UINT_PTR*>(0x91A814));
UINT_PTR* ammoOfs = (ammoPtr + 0xFFF12);
*ammoOfs = 999;
Ich denke so haut das hin.
Nightblizard is offline  
Old 02/19/2012, 18:47   #9
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
Ich mache keine DLL Injektion, ich muss es über WriteProcessMemory machen ..
xBioK1ngz is offline  
Old 02/19/2012, 18:51   #10
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Dann kannst du die Pointer nicht direkt dereferenzieren, sondern musst deren Werte vorher über ReadProcessMemory auslesen.
Nightblizard is offline  
Old 02/19/2012, 18:55   #11
 
xBioK1ngz's Avatar
 
elite*gold: 15
Join Date: Nov 2011
Posts: 556
Received Thanks: 1,002
Wie geht das ?
xBioK1ngz is offline  
Old 02/19/2012, 19:00   #12
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Ach komm schon, ein wenig Eigeninitiative wäre schon angebracht.


Code:
TYPE buffer = 0;
UINT_PTR address = 0xDEADBEEF;
SIZE_T numRead = 0;

ReadProcessMemory(process, reinterpret_cast<LPCVOID>(address), &buffer, sizeof(buffer), &numRead);
Mehr spoonfeeding gibt es aber nicht von meiner Seite. :/
Nightblizard is offline  
Old 02/19/2012, 19:22   #13


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Mehr spoonfeeding gibt es aber nicht von meiner Seite. :/
Und auch nicht von uns.

#closed
MrSm!th is offline  
Closed Thread


Similar Threads Similar Threads
[AutoIT->Delphi] Pointer + Offset auslesen !
02/05/2011 - Nostale - 4 Replies
Hi, ich habe folgendes AutoIT Script und bekomme es einfach nicht für Delphi umgeschrieben. Mit Memory Read/Write in Delphi habe ich leider keinerlei Erfahrung, deshalb bitte ich euch um eine funktionierende Funktion. AutoIT ist zwar recht easy aber spackt mal wieder rum, NosTale stürzt grundlos ab. :D Folgender Code: #include <Pointer.au3> #RequireAdmin $open = _MemoryOpen(ProcessExists("NostaleX.dat" )) Global $base = 0x0020AC93
[VB] Pointer+Offset Einbinden
12/02/2010 - .NET Languages - 19 Replies
Guten Tag Alle Zusammen ! Folgendes Problem : Wie Baue ich diesen Pointer von CheatEngine in Mein Visual Basic EIn! http://s10.directupload.net/images/101130/t4fp524 r.png Hier Code von VB da IST KEI POINTER DA IST EINFACH DIE NORMALER ADRESSE ABER WIE BAUE Ich den POINTER und offset ein ?
help with pointer+offset
11/28/2010 - Last Chaos - 0 Replies
this is my code in c++ __inline ULONG_PTR ReadPointer(ULONG_PTR* ulBase, INT nOffset) { if (!IsBadReadPtr((VOID*)ulBase, sizeof(ULONG_PTR))) { if (!IsBadReadPtr((VOID*)((*(ULONG_PTR*)ulBase)+nOffs et), sizeof(ULONG_PTR))) { return *(ULONG_PTR*)((*(ULONG_PTR*)ulBase)+nOffset); }
Pointer offset suche... help plz
07/09/2009 - AutoIt - 4 Replies
hallo, screeni im Anhang. Finde keinen Pointer und Offset. Leben Energie usw hab ich schnell in Warhammer gefunden. Habe eine Adresse gefunden die 1 ist wenn ich einen Gegner angeklickt habe und die 0 ist wenn ich keinen Gegner angeklickt habe. Die will ich gern verwenden. Die scheint aber jedenmal dynamisch zu sein. vielleicht kann ja wer helfen. Danke cya PicFront - Ihr innovativer Bildhoster
[Request]how found pointer offset
12/22/2008 - CO2 Programming - 2 Replies
how found pointer and offset?



All times are GMT +1. The time now is 07:17.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.