|
You last visited: Today at 02:17
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.
05/12/2013, 20:15
|
#1
|
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
|
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
|
|
|
05/12/2013, 21:26
|
#2
|
elite*gold: 0
Join Date: Jun 2011
Posts: 265
Received Thanks: 50
|
Quote:
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
|
|
|
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?
|
|
|
05/12/2013, 22:08
|
#4
|
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!
|
|
|
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
|
|
|
05/13/2013, 00:12
|
#6
|
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
|
|
|
 |
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.
|
|