Register for your free account! | Forgot your password?

Go Back   elitepvpers › Coders Den › C/C++
You last visited: Today at 04:19

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

Advertisement



Value auf Offsets und Basepointer ausgeben lassen

Discussion on Value auf Offsets und Basepointer ausgeben lassen within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Bombasticx3's Avatar
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,609
Received Thanks: 675
Exclamation Value auf Offsets und Basepointer ausgeben lassen

Hey yo ihr Coder,

folgendes:

Ich habe die Offsets und den Basepointer, Statische Adresse, Base Adresse (was ich nicht alles heute schon als Bezeichnugn dafür gesehen habe) aus einem Spiel ausgelesen.

Code:
DWORD Pointer = 0x041BDEC;
DWORD Offset1 = 0xAC;
DWORD Offset2 = 0x4C;
Diese wollte ich nun damit lesbar machen:

Code:
cout << "Value " << (*(WORD*)((*(DWORD*)((*(DWORD*)Pointer) + Offset1)) + Offset2)); //2 Offsets
Doch wenn ich die .dll injecte wird mir nur gesagt, dass sie nicht injected werden kann.
Wenn ich aber etwas andres aus der Konsole ausgeben lassen wie cout << "Hallo" << endl; kann ich sie ganz normal injecten.

Hätte wer eine Idee wieso?


MfG Bombasticx3
Bombasticx3 is offline  
Old   #2

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 855
Versuch erstmal nen neuen Thread aufzurufen:
Dann solltes es klappen .

Code:
#include <iostream>
#include <windows.h>

using namespace std;

DWORD Pointer = 0x041BDEC;
DWORD Offset1 = 0xAC;
DWORD Offset2 = 0x4C;

//Wird gerade eh nicht genutzt
DWORD WINAPI Main(LPVOID)
{
	FILE *stream;
	AllocConsole();
	freopen_s(&stream, "CONOUT$", "w+", stdout);
	freopen_s(&stream, "CONIN$", "r", stdin);

	int i;
	cout << "Value " << (*(WORD*)((*(DWORD*)((*(DWORD*)Pointer) + Offset1)) + Offset2)); //2 Offsets
	return 0;
}

BOOL APIENTRY DllMain(HMODULE hModule,
	DWORD  reason,
	LPVOID lpReserved
)
{
	switch (reason)
	{
	case DLL_PROCESS_ATTACH:
		CreateThread(0, 0, Main, 0, 0, 0);
		break;
	}
	return TRUE;
}
BladeTiger12 is offline  
Thanks
1 User
Old   #3
 
Bombasticx3's Avatar
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,609
Received Thanks: 675

Immer noch nen Crash :/

Im Debugger bekomme ich ne Acces Violation reading location xxx.

aufgeräumt:

Code:
#include <iostream>
#include <Windows.h>

using namespace std;

DWORD Pointer = 0x041BDEC;
DWORD Offset1 = 0xAC;
DWORD Offset2 = 0x4C;

DWORD WINAPI Main(LPVOID)
{
	FILE *stream;
	AllocConsole();
	freopen_s(&stream, "CONOUT$,","w+",stdout);
	freopen_s(&stream, "CONIN$", "r", stdin);
	cout << "Value " << (*(WORD*)((*(DWORD*)((*(DWORD*)Pointer) + Offset1)) + Offset2));
	return 0;
}

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  reason,
                       LPVOID lpReserved
					 )
{
	switch (reason)
	{
	case DLL_PROCESS_ATTACH:
		CreateThread(0,0,Main,0,0,0);
		break;
	}
	return TRUE;
}
Bombasticx3 is offline  
Old   #4

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 855
Ich habe gerade das ganze selbst gesucht.
Deine "Statische Addresse" stimmt nur halbwegs. So müsste es aussehen.


Wie es aussehen müsste, sieht man hier:

Da du nur die "Addresse" danach genommen hast, fehlt dieses "NosTaleX.dat/.exe...".

Das bekommst du wenn du eine DLL benutzt einfach über:
Code:
DWORD Pointer = (DWORD)GetModuleHandleA(0) + 0x041BDEC;
Optional wenn es mal nicht der "exe'n Name" da steht macht man einfach:
(Was du in diesem Falle nicht brauchst) (Sowas wie: Client.dll + 0x44444)
Code:
DWORD Pointer = (DWORD)GetModuleHandleA("Client.dll") + 0x44444;
BladeTiger12 is offline  
Thanks
1 User
Old   #5
 
Bombasticx3's Avatar
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,609
Received Thanks: 675
Quote:
Originally Posted by BladeTiger12 View Post
Ich habe gerade das ganze selbst gesucht.
Deine "Statische Addresse" stimmt nur halbwegs. So müsste es aussehen.


Wie es aussehen müsste, sieht man hier:

Da du nur die "Addresse" danach genommen hast, fehlt dieses "NosTaleX.dat/.exe...".

Das bekommst du wenn du eine DLL benutzt einfach über:
Code:
DWORD Pointer = (DWORD)GetModuleHandleA(0) + 0x041BDEC;
Optional wenn es mal nicht der "exe'n Name" da steht macht man einfach:
(Was du in diesem Falle nicht brauchst) (Sowas wie: Client.dll + 0x44444)
Code:
DWORD Pointer = (DWORD)GetModuleHandleA("Client.dll") + 0x44444;
Ah danke.
Auf die Idee hätte ich auch selber kommen können.
Aber irgendwann so viel gelesen und jeder sagt was andres, dann ist man auch verwirrt.
Bombasticx3 is offline  
Reply


Similar Threads Similar Threads
[C++] Immer aktuelle Uhrzeit ausgeben lassen
01/07/2015 - C/C++ - 13 Replies
Guten Tag liebe Coder, heute zum zweiten mal ich :) Ich habe ewig in der SuFu geschaut und nicht das gefunden was ich will, nun kommt mir die Frage ob es überhaupt möglich ist. Ich möchte das in einer Konsolenanwendung die aktuelle Zeit da steht. Ich möchte jedoch nicht das die Zeit da steht wenn ich Starte, sondern die Zeit soll ich immer automatisch jede Sekunde aktualisieren, wie eine normale Uhr eben. Ist das möglich und wenn ja wie?
MYSQL Anzahl der Datensätze ausgeben lassen
03/15/2014 - Web Development - 9 Replies
Hey, Vorerst danke für eure Hilfe! Dies ist mein derzeitiger Code. $test = $mysql_query("SELECT COUNT(*) FROM testies"); Und dann unten :
Auto It - Basepointer + Offsets umsetzen [Frage]
05/31/2013 - AutoIt - 6 Replies
Hallo, Ich habe in Guild Wars 2 den Basepointer für die Lebensanzeige ausgelesen. Das ganze funktioniert bei Cheat Engine wunderbar, sprich man startet Guild Wars 2 neu und es werden sofort die aktuellen Lebenspunkte ausgelesen. Allerdings würde ich das gerne in Auto it nun umsetzen! Vorerst mal ein Bild: http://s1.directupload.net/images/130512/mxrnndtl .png Ich habe per "Add Address Manually" Gw2.exe+1261A64 hinzugefügt und somit die Baseadresse gekriegt, welche sich mit den Offsets...
[C#] Nach Zeichenkette in String suchen und ausgeben lassen?
11/17/2012 - .NET Languages - 4 Replies
Moin, will in einer PictureBox den Captcha von der Google-Mail Registrierung anzeigen lassen. Natürlich ist das nicht einfach über eine ID oder den name aufrufbar, also muss ich hier ganz klar den Quelltext der Seite nach einer bestimmten Zeichenkette durchsuchen, die Position davon + oder - ein paar Stellen nehmen (da sich die URL zum Captcha ja immer ändert). Irgendwie will das so aber nicht ganz bei mir. Dass ich hier IndexOf() und SubString() brauche ist mir auch klar, ich bekomms aber...
[Java]Array vom Typ String > Inhalt ausgeben lassen
10/30/2012 - General Coding - 2 Replies
Ahoi epvp, String array= {"x", "y"}; Es handelt sich um diesen Array vom Typ String. Der befindet sich in Klasse "mitarbeiterSuche", allerdings will ich ihn in der Klasse "main" ausgeben. Woran kann das liegen? Eclipse sagt mir dauernd: "array cannot be resolved to a variable"



All times are GMT +2. The time now is 04:22.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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