Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 02:17

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

Advertisement



C++ Hack bringt Spiel zum Absturz

Discussion on C++ Hack bringt Spiel zum Absturz within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Question C++ Hack bringt Spiel zum Absturz

Hi.

Ich wollte mal einen kleinen Hack für Metin2 machen.
Er sollte einfach den Pointer für meine Y-Koordinate (FLOAT) freezen.
Den Pointer habe ich mit Cheat Engine gefunden. Dieser klappt auch.

Nun wollte ich den einbauen. Das sag in C++ dann so aus:

Quote:
#include "stdafx.h"
#include <iostream>

using namespace std;

DWORD BasePointer = 0;
#define Points0 0x00000008
#define Points1 0x000005dc
#define Points2 0x000002d8
#define Points3 0x00000000
#define Points4 0x0000018g

bool State = false;

void punkte()
{
if(State)
{
DWORD dwBasePointer = *(DWORD*)BasePointer; Wert der Adresse hinzu zufügen
if(dwBasePointer != 0) // Wenn der Pointer nicht 0 ist wird der Wert zugewiesen
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0);
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);


dwPoints = 4; set.


}

}
else // Vom State, also deaktivieren wir hier den Hack
{
DWORD dwBasePointer = *(DWORD*)BasePointer;
if(dwBasePointer != 0)
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0);
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);

dwPoints = 0;

}
}
}

DWORD WINAPI HackThread(LPVOID unused)
{
//---Hier wird unser BasePointer ausgerechnet !
DWORD ImageBase = (DWORD)GetModuleHandle(0); den Module Handle
BasePointer = ImageBase + 0x002EBE1C;

for(;
{
punkte();
if(GetAsyncKeyState(VK_F1)&1)State =! State;
Sleep(10);
}
}

BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
switch(DWORD_GRUND)
{
case DLL_PROCESS_ATTACH:
CreateThread(0, 0, &HackThread , 0, 0, 0);
MessageBoxA(0, "Hack erfolgreich gestartet!", "Info",0);
break;
case DLL_PROCESS_DETACH:
MessageBoxA(0, "Not Loaded", "Info",0);
break;
}
return TRUE;
}
Leider stürtzt Metin2 wenn ich F1 drücke ab.
Was ist an dem Code falsch?

Ich hoffe jemand erkennt den Fehler.

Danke vielmals.

Mfg. Easy
EasyFarm is offline  
Old 05/12/2013, 21:26   #2
 
elite*gold: 0
Join Date: Jun 2011
Posts: 265
Received Thanks: 50
Quote:
0x0000018g
Es gibt kein G im hexadezimalsystem.
Quote:
#include <iostream>
using namespace std;
Brauchst auch nicht.

Außerdem brauchst dafür doch gar keine dll injection - warum machst du das nicht einfach mit ner Consolenanwendung?

Is das überhaupt dein Code oder ein Copy&Paste ****?

Mfg,
Kosic
Kosic is offline  
Old 05/12/2013, 21:58   #3
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Code:
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0);
*dwPoints = *(DWORD*)(dwBasePointer + Points1);
*dwPoints = *(DWORD*)(dwBasePointer + Points2);
*dwPoints = *(DWORD*)(dwBasePointer + Points3);
*dwPoints = *(DWORD*)(dwBasePointer + Points4);
*dwPoints = 4; set
Was soll das werden?
Zwawo is offline  
Old 05/12/2013, 22:08   #4

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Ja das mit dem G war ein Fehler, so siehts jetzt aus:

Quote:
#define Points0 0x00000008 // Hier definieren wir unseren Offset des Pointers
#define Points1 0x000005dc
#define Points2 0x000002d8
#define Points3 0x00000000
#define Points4 0x0000018c
Ganzer Code:

Quote:
/*
*Wir inkludieren die "stdafx.h und iostream(=input output)
*ist aber nicht nötig^^
*/
#include "stdafx.h"




DWORD BasePointer = 0; // Wir deklarieren den BasePointer und setzten ihm den Wert 0
#define Points0 0x00000008 // Hier definieren wir unseren Offset des Pointers
#define Points1 0x000005dc
#define Points2 0x000002d8
#define Points3 0x00000000
#define Points4 0x0000018c

bool State = false; // Brauchen wir später für das einschalten und auschalten des Hacks

void punkte() // unsere main funktion
{
if(State)
{
DWORD dwBasePointer = *(DWORD*)BasePointer; // Unser Pointer den wir als hilfe verwenden werden um einen Wert der Adresse hinzu zufügen
if(dwBasePointer != 0) // Wenn der Pointer nicht 0 ist wird der Wert zugewiesen
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0); // Hier machen wir eine neue Variable durch den Base Pointer und denn Offset und haben somit die Pointer Adresse
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);


dwPoints = 4; // Hier bekommt der Pointer bzw. Adresse den Wert 4, 4 macht dann für dich einen ganzen set.
//Also ball durchlassen und du bekommst den Set (1:0)

}

}
else // Vom State, also deaktivieren wir hier den Hack
{
DWORD dwBasePointer = *(DWORD*)BasePointer; // machen wieder eine neue Variable wie oben
if(dwBasePointer != 0) // wenn der Pointer nicht 0 ist wird der Wert zugewiesen
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0); // wie oben definieren wir mithilfe des Pointers und Offsets die Adresse
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);

dwPoints = 0; //setzt den wert 0, also ist der Hack deaktiviert

}
}
}

DWORD WINAPI HackThread(LPVOID unused)
{
//---Hier wird unser BasePointer ausgerechnet !
DWORD ImageBase = (DWORD)GetModuleHandle(0); //Die Image Adresse ist in diesem fall FT_Client, holen uns also den Module Handle
BasePointer = ImageBase + 0x002EBE1C; // Um den BasePointer zu bekommen nehmen wir die Image Adresse und unsere Modul Adresse
//---------------------------------------------

for(; //Eine unendliche schleife weil wir die Adresse gefreezt haben wollen
{
punkte(); //unsere main funktion wird ausgeführt
if(GetAsyncKeyState(VK_F1)&1)State =! State; // Mit F1 aktivieren und deaktivieren wir den Hack
Sleep(10);
}
}

BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
switch(DWORD_GRUND)
{
case DLL_PROCESS_ATTACH: //Falls die dll erfolgreich injeziert wird
CreateThread(0, 0, &HackThread , 0, 0, 0); // Wir erstellen den Thread in dem dann später injezierten Process
MessageBoxA(0, "Hack erfolgreich gestartet!", "Info",0); //Eine Messagebox die sagt das dll nicht mehr geladen ist
break;
case DLL_PROCESS_DETACH: //Falls die dll den Process nicht mehr findet
MessageBoxA(0, "Not Loaded", "Info",0); //Eine Messagebox die sagt das dll nicht mehr geladen ist
break;
}
return TRUE;
}
Nun erscheint die Messagebox:Hack erfolgreich gestartet!
Doch dannach nach einer kurzen Zeit:Not loaded

Konsolenanwendung geht nicht da es ein Hackshield hat, und Autoit auch nicht klappt.

Was ist nun noch falsch am Code?

Danke vielmals.

Mfg. Easy


EDIT: Das mit dem Not loaded geht jetzt, war der falsche Prozess. Aber immernoch der ???? Fehler!
EasyFarm is offline  
Old 05/12/2013, 23:01   #5
 
elite*gold: 0
Join Date: Jun 2011
Posts: 265
Received Thanks: 50
Quote:
for(; //Eine unendliche schleife weil wir die Adresse gefreezt haben wollen
{
punkte(); //unsere main funktion wird ausgeführt
if(GetAsyncKeyState(VK_F1)&1)State =! State; // Mit F1 aktivieren und deaktivieren wir den Hack
Sleep(10);
}
Ich tippe mal ganz Stark auf die Sleep() Funktion. Die macht mir in meinen Hacks auch immer Probleme wenn ich eine Adresse "freezen" will. Hab noch keinen weg gefunden diese Funktion ordentlich zu umgehen.

Mfg,
Kosic
Kosic is offline  
Old 05/13/2013, 00:12   #6

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Hi. Danke, han Sleep mal weggemacht aber der Fehler kommt trotzdem noch!
Was ist jetzt noch falsch?

Der ganze Code nochmal jetzt:

Quote:
#include "stdafx.h"




DWORD BasePointer = 0; // Wir deklarieren den BasePointer und setzten ihm den Wert 0
#define Points0 0x00000008 // Hier definieren wir unseren Offset des Pointers
#define Points1 0x000005dc
#define Points2 0x000002d8
#define Points3 0x00000000
#define Points4 0x0000018c

bool State = false; // Brauchen wir später für das einschalten und auschalten des Hacks

void punkte() // unsere main funktion
{
if(State)
{
DWORD dwBasePointer = *(DWORD*)BasePointer; // Unser Pointer den wir als hilfe verwenden werden um einen Wert der Adresse hinzu zufügen
if(dwBasePointer != 0) // Wenn der Pointer nicht 0 ist wird der Wert zugewiesen
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0); // Hier machen wir eine neue Variable durch den Base Pointer und denn Offset und haben somit die Pointer Adresse
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);


dwPoints = 4; // Hier bekommt der Pointer bzw. Adresse den Wert 4, 4 macht dann für dich einen ganzen set.
//Also ball durchlassen und du bekommst den Set (1:0)

}

}
else // Vom State, also deaktivieren wir hier den Hack
{
DWORD dwBasePointer = *(DWORD*)BasePointer; // machen wieder eine neue Variable wie oben
if(dwBasePointer != 0) // wenn der Pointer nicht 0 ist wird der Wert zugewiesen
{
DWORD &dwPoints = *(DWORD*)(dwBasePointer + Points0); // wie oben definieren wir mithilfe des Pointers und Offsets die Adresse
dwPoints = *(DWORD*)(dwBasePointer + Points1);
dwPoints = *(DWORD*)(dwBasePointer + Points2);
dwPoints = *(DWORD*)(dwBasePointer + Points3);
dwPoints = *(DWORD*)(dwBasePointer + Points4);

dwPoints = 0; //setzt den wert 0, also ist der Hack deaktiviert

}
}
}

DWORD WINAPI HackThread(LPVOID unused)
{
//---Hier wird unser BasePointer ausgerechnet !
DWORD ImageBase = (DWORD)GetModuleHandle(0); //Die Image Adresse ist in diesem fall FT_Client, holen uns also den Module Handle
BasePointer = ImageBase + 0x002EBE1C; // Um den BasePointer zu bekommen nehmen wir die Image Adresse und unsere Modul Adresse
//---------------------------------------------

for(; //Eine unendliche schleife weil wir die Adresse gefreezt haben wollen
{
punkte(); //unsere main funktion wird ausgeführt
if(GetAsyncKeyState(VK_F1)&1)State =! State; // Mit F1 aktivieren und deaktivieren wir den Hack

}
}

BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
switch(DWORD_GRUND)
{
case DLL_PROCESS_ATTACH: //Falls die dll erfolgreich injeziert wird
CreateThread(0, 4096, &HackThread , 0, 0, 0); // Wir erstellen den Thread in dem dann später injezierten Process
MessageBoxA(0, "Hack erfolgreich gestartet!", "Info",0); //Eine Messagebox die sagt das dll nicht mehr geladen ist
break;
case DLL_PROCESS_DETACH: //Falls die dll den Process nicht mehr findet
MessageBoxA(0, "Not Loaded", "Info",0); //Eine Messagebox die sagt das dll nicht mehr geladen ist
break;
}
return TRUE;
}
Danke nochmal, und mfg. Easy
EasyFarm is offline  
Reply


Similar Threads Similar Threads
Fraps + NFS Underground = Spiel Absturz
11/24/2012 - Technical Support - 3 Replies
Kann mir jmd. mal verraten warum bei mir das Spiel abstürzt, wenn ich es mit Fraps aufnehme Oo ? Bei Fifa 13 etc. funzt es ... Habe meine Grafikkarte aktualiesiert! Ohne Fraps Funzt es sogar noch -.-..
Saitek Cyborg Mouse bringt PC zum Absturz...
02/12/2012 - Technical Support - 4 Replies
.
Spiel starten --> Pc absturz
10/31/2010 - Technical Support - 1 Replies
Hey Com, Ich habe folgendes Problem, Sobald ich mein 4Story starte, macht mein PC ein klickendes geräusch, so ... als ob man ein Feuerzeug anmachen würde, und dann bleibt das bild stehen, und der Pc zeigt keine Reaktion -.- Ich habe schon alles versucht --> 4Story neuinstallation, Lüfter sauber machen, Ventilator vor den Pc stellen um ihn möglichst kalt zu halten etc. Ich wäre sehr erfreut, ein paar nützliche Kommentare von euch zu sehen
{FRage}Pointersuche --> spiel absturz
10/15/2010 - General Coding - 4 Replies
hi, also mein problem ist sobald ich mit pointer suche mit CE anfange stürtzt das spiel ab.... hat irgendwer ne lösung das es nicht abstürtzt?
I-pod bringt router zum Absturz
06/10/2010 - Technical Support - 6 Replies
Hi, also ich aheb folgendes problem: Manchmal wenn ich mit mein Ipod ins internet gehe stürtzt mein router ab. Dies passiert besonders häufig wenn ich mir etwas aus den App-Store runterladen. Kennt einer wie ich das problem lösen kann.



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


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