Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 20:52

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

Advertisement



Pointer dereferenzieren mit DLL

Discussion on Pointer dereferenzieren mit DLL within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2009
Posts: 51
Received Thanks: 3
Arrow Pointer dereferenzieren mit DLL

Hallo, ich versuche grad einen Bot zu schreiben, der Automatisch losschießt sobald ein Feind ins Fadenkreuz kommt.
Also jetzt hab ich meine DLL und will Auslesen ob etwas im Fadenkreuz ist und zwar per Dereferenzierung:
Code:
int CrosshairID = *pCrosshairID;
In DWORD *pCrosshairID ist natürlich die Addresse gespeichert, die ich Auslesen will. Ich tippe sehr stark darauf das ich noch davor Irgendetwas Angebn muss, das meiner DLL die Rechte erteilt Speicher zu lesen. Oder was ich mir auch schon überlegt habe: Muss man da nicht vielleicht noch den Prozess angeben den man Attachen will (Außer im DLL-Loader um zu prüfen ob der Prozess da ist)?
Edit: Ich hab ganz vergessen mein Problem anzugeben *Facepalm* also immer wenn ich das versuche kommt folgender Fehler:
Quote:
Eine Ausnahme (erste Chance) bei 0x70c111f8 (My.dll) in DLL Injector.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x569a7290.
Wer kann mir da helfen? ;D
silas2222 is offline  
Old 11/21/2014, 17:52   #2
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Nein, du brauchst keine Rechte. Die .dll teilt sich den gleichen Speicher wie dein Prozess auch.
Logtetsch is offline  
Old 11/21/2014, 21:22   #3
 
elite*gold: 0
Join Date: Dec 2009
Posts: 51
Received Thanks: 3
So, da ich einfach nicht weiterkomme hier meine stark gekürzte DllMain:

BOOL APIENTRY DllMain (HMODULE hModule, DWORD _reason, LPVOID lpReserved)
{
if (_reason == DLL_PROCESS_ATTACH)
{
DWORD *pCrosshairID = 0x2D81BABC;
int CrosshairID = *pCrosshairID;
}
}

Kann mir einer sagen ob das so funktionieren sollte, oder ob ich einfach total Faile...
silas2222 is offline  
Old 11/21/2014, 21:35   #4
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Klar funktioniert das, jedoch wirst du durch den Cast von DWORD auf int möglicherweise Daten verlieren. Was willst du mit deinem Code überhaupt bezwecken?
Code:
static const DWORD CROSSHAIR_ADDR = 0xABCDEF;
static const DWORD CROSSHAIR_VAL_X = 5;
if (_reason == DLL_PROCESS_ATTACH){
	DWORD* pCrosshairID = reinterpret_cast<DWORD*>(CROSSHAIR_ADDR);
	DWORD dwCrosshairID = *pCrosshairID; //read value
	*pCrosshairID = CROSSHAIR_VAL_X; //write value
}
Btw. Die Fehlermeldung sagt doch ganz genau was du falsch machst. Mich wundert es nur, dass du 0x2D81BABC auslesen willst, aber auf 0x569a7290 kommst?!
Logtetsch is offline  
Thanks
1 User
Old 11/22/2014, 01:47   #5
 
elite*gold: 0
Join Date: Dec 2009
Posts: 51
Received Thanks: 3
So habs jetzt es lag an meinem Loader, trotzdem danke
silas2222 is offline  
Reply


Similar Threads Similar Threads
Frage: Wie findet man zB UG Pointer?Speed pointer?
03/30/2010 - Kal Online - 2 Replies
kann mir einer sagen wie man UG/Speed pointer finden kann usw^^´ß#



All times are GMT +1. The time now is 20:53.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.