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:
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!
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.
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;
}
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 -.-..
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.