VORMERK
wenn ihr in den text ein findet wie zb hier im hackkthread
for(;
muss es eigt
heißen
sonst kommt nähmlich der fehler hier
Quote:
1>error C2143: Syntaxfehler: Es fehlt ')' vor '{'
1>error C2143: Syntaxfehler: Es fehlt ';' vor ')'
|
also ändert es
void HackThread()
{
for(;; )
{
ohne das leerzeichen da ^^ sonst kommt dieser smilie
Hey leute ^^ ich wollte schon sowas viel frueher machen aber hatte keine
zeit und da ich jetzt ueberall die "basic" TuT sehen mache ich mal eine erweiterung
,.. es gibt viele methoden einen no menue hack zu machen ich zeige euch eine da von... ich benutze visual studio 2008 weil man damit am besten arbeiten kann.
ich habe es weit ausgeschrieben damit das eigt jeder versteht wenn ich fehler gemacht habe?? oder ihr noch ein parr idee habt ?? dann schreibt es hier rein
bitte liest euch es durch und nicht nur C&P machen wenn ihr versteht was ich da macht und wie hat man bessere ideen wie man andere funktion macht oder sonst was ....
Fangen wir,.. was wir brauchen?
-Brain.exe <-- ein gehirn
-Ein bisschen zeit
Download-
Klick auf "Datei" dann "Neu" und dann "Projekt..."
Und Wählt "Win32 Projekt" aus.
1.Schritt
2.Schritt
3.Schritt
4.Schritt
5.Schritt
6.Schritt
7.Schritt
Jetzt könn wir los legen mit unseren hack = )
zu erst muessen wir in unseren projekt die nötigen daten Includen :
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
|
dannach mussen wir unsere Addys eingeben ... Addys sind adressen von verschiedenen Funktionen Wie No spread.. superjump..unl ammo
wir benutzen fuer das beispiel mal 5,6,7,8 Slot,Superjump,Dig,Speed,no spread(on/off) no recoil (on/off) , Teleport
ACHTUNG ! das ist ein No menue hack ohne Detours ( umgehung ) und ASM Bypass ( ASM funktion ) das heißt ihr könnt nicht Unl ammo oder chams oder sowas damit machen
Quote:
#pragma warning(disable: 4244)
#define ADR_PLAYERPOINTER 0x00D284E8 // Player Adresse
#define ADR_SERVERPOINTER 0x00C24B10 // Server Adresse
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
|
So weiter Addys findet ihr ganz weit unten
aber wir machen jetzt weiter ,..
wenn ihr es genau so gemacht habt musste es jetzt genau so aussehen:
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ADR_PLAYERPOINTER 0x00D284E8 // zb speed,no recoil
#define ADR_SERVERPOINTER 0x00C24B10 //zb Slots,Visual DInar/lvl
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
|
so das war der addy Teil jetzt muessen wir noch was Difinieren fuer die funktion die gleich komm
Quote:
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
float posiX;
float posiY;
float posiZ;
|
Float posi wird fuer Superjump ( posiZ ) Dig ( posiZ ) und Teleport( posiX,Y;Z Benuztzt
jetzt muesstes bei euch alles in allen so aussehen :
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ADR_PLAYERPOINTER 0x00D284E8 // zb speed,no recoil
#define ADR_SERVERPOINTER 0x00C24B10 //zb Slots,Visual DInar/lvl
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
DWORD dwPlayer = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
float posiX;
float posiY;
float posiZ;
|
Soo das wäre geschafft ich stopf mir mal ne kippe dann gehts weiter = )
das wäre auch geschaft
jetzt kommen wir zu unseren funktion
zuerst nehmen wir mal Speed
Quote:
void speedon0 ()
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF) // Hotkey
{
*(float*)(OFS_SPEED) = 97.0f; // Addy und Angabe zu der geschwindigkeit
}
}
void speedon1 ()
{
if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 115.0f;
}
}
void speedon2 ()
{
if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 125.0f;
}
}
void speedon3 ()
{
if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 135.0f;
}
}
void speedon4 ()
{
if(GetAsyncKeyState(VK_NUMPAD4) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 145.0f;
}
}
void speedon5 ()
{
if(GetAsyncKeyState(VK_NUMPAD5) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 200.0f;
}
}
void speedon6 ()
{
if(GetAsyncKeyState(VK_NUMPAD6) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 300.0f;
}
}
|
schauen wir uns das mal alles genau an...
was genau steht denn da jetzt eigt ?
wie stelle ich einen anderen Hotkey/taste ein ?
wie stelle ich die geschwindkeit ein ?
Quote:
void speedon0 ()
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 97.0f;
}
}
|
Hotkey/Taste :
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF)
- VK_NUMPAD0
Ist die Taste Numpad 0
- &1<< 0xF
Bedeutet wenn die taste gedrueckt ist Bleibt es Dauerhaft an
es wäre ja zu aufwendig immer die taste gedrueckt zu halten
unten findet ihr auch andere hotkeys die ihr benutzen könnt
- *(float*)(OFS_SPEED) = 97.0f;
Startet Den befehl den Speed auf 97.0 zu stellen das ist die ganz normale geschwindigkeit ,.. wenn wir es auf die doppelte geschwindigkeit haben wollen schreiben wir dort statt 97.0f; ein 200.0f; rein
desweiteren mussen wir drauf achten das er die richtige Addy findet
(OFS_SPEED)
also muss die Addys die wir oben eingegeben haben
#define
OFS_SPEED 0xA4B8D4 // Geschwindigkeit
wenn ihr alles wie ich gemacht hab sollte es so aussehen :
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ADR_PLAYERPOINTER 0x00D284E8 // zb speed,no recoil
#define ADR_SERVERPOINTER 0x00C24B10 //zb Slots,Visual DInar/lvl
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
DWORD dwPlayer = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
float posiX;
float posiY;
float posiZ;
void speedon0 ()
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF) // Hotkey
{
*(float*)(OFS_SPEED) = 97.0f; // Addy und Angabe zu der geschwindigkeit
}
}
void speedon1 ()
{
if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 115.0f;
}
}
void speedon2 ()
{
if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 125.0f;
}
}
void speedon3 ()
{
if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 135.0f;
}
}
void speedon4 ()
{
if(GetAsyncKeyState(VK_NUMPAD4) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 145.0f;
}
}
void speedon5 ()
{
if(GetAsyncKeyState(VK_NUMPAD5) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 200.0f;
}
}
void speedon6 ()
{
if(GetAsyncKeyState(VK_NUMPAD6) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 300.0f;
}
}
|
so jetzt rauch ich mir ein Kopf
damit weiter gehen kann
puhh ^^ also weiter mit unseren anderen funktion :P
Diese Funktion brauch keine Addy da es keine wirkliche warrock funktion ist sondern eine Process funktion
Quote:
void exit()
{
if(GetAsyncKeyState(VK_DELETE) &1<< 0xF)
{
ExitProcess(0);
}
}
|
wenn ihr die Delete Taste drueckt wird Warrock Frisstlos beenden ganz gut wenn wr hängen geblieben ist oder man es schnell beenden muss what in know am besten drueckt ich dafuer das gesammte packet sprich öffnet tastmanager " Strg + Alt + Entf "
Quote:
void Dig()
{
if(GetAsyncKeyState(VK_MENU) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = -2000;
}
}
}
void nfd()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_NFD) = -2000000;
}
}
void jump()
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 2500;
}
}
}
|
&1) in if(GetAsyncKeyState(VK_MENU)
&1) bedeutet das man die taste nur 1 mal druecken muss und die funktion wird gestartet und beendet,. wenn es dauerhaft an wäre wie zb bei speed könntet ihr ja nicht wieder auf die map druff ^^
Quote:
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
|
das DWORD dwplayer.. haben wir ja oben schon unter den addys eingebunden wir nehmen hier die ADR_PLAYERPOINTER addy
weil ja superjump auf den "player" angewandt wird und nicht wie zb
ADR_SERVERPOINTER auf den server ,.
jetzt kommen wir zu unseren teleport funktion
Quote:
void Teleport()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if (GetAsyncKeyState(VK_F2))
{
posiX = *(float*)(dwPlayerPtr + OFS_X);
posiY = *(float*)(dwPlayerPtr + OFS_Y);
posiZ = *(float*)(dwPlayerPtr + OFS_Z);
}
if (GetAsyncKeyState(VK_F3))
{
*(float*)(dwPlayerPtr + OFS_X) = posiX;
*(float*)(dwPlayerPtr + OFS_Y) = posiY;
*(float*)(dwPlayerPtr + OFS_Z) = posiZ;
}
}
}
|
ich glaubse so langsam erklärt sich das jetzt selbst wenn ihr lesen könnt und was ihr wisst was wir oben alles hngeschrieben haben
->
Quote:
posiX = *(float*)(dwPlayerPtr + OFS_X);
posiY = *(float*)(dwPlayerPtr + OFS_Y);
posiZ = *(float*)(dwPlayerPtr + OFS_Z);
|
Speichert den Aktuellen Ort / Stelle
Quote:
*(float*)(dwPlayerPtr + OFS_X) = posiX;
*(float*)(dwPlayerPtr + OFS_Y) = posiY;
*(float*)(dwPlayerPtr + OFS_Z) = posiZ;
|
Teleportiert zu der Gespeicherten Stelle
jetzt nehmen wir uns endlich mal unser no recoil und no spread on/off funktion durch...nachdem ich mir ne kippe gestopft hab
Quote:
void Weapon(void)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if(NoSpread==true)
{
*(int*) ADR_NOSPREAD = 0;
}
if(GetAsyncKeyState(VK_NUMPAD9) &1)
{
NoSpread = NoSpread==false;
}
if(NoRecoil==true)
{
*(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0;
}
if(GetAsyncKeyState(VK_NUMPAD8) &1)
{
NoRecoil = NoRecoil==false;
}
}}
|
der code ist bissel komplexer aber auch zu verstehen
bei if(GetAsyncKeyState(VK_NUMPAD9) &1) sprich NUMPAD 9 wird nospread eingeschaltet
Quote:
und wieder aus
Quote:
NoSpread = NoSpread==false;
|
jetzt noch schnell die Slots und wir machen den hackthread !
Quote:
void AllSlots()
{
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
if(dwServer != 0)
{
*(long*)(dwServer+OFS_5SLOT) = 1;
*(long*)(dwServer+OFS_6SLOT) = 1;
*(long*)(dwServer+OFS_7SLOT) = 1;
*(long*)(dwServer+OFS_8SLOT) = 1;
}
}
|
jetzt kommen wir zu unseren hackthread aber zuvor ein kleinen zwischen standt :
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ADR_PLAYERPOINTER 0x00D284E8 // zb speed,no recoil
#define ADR_SERVERPOINTER 0x00C24B10 //zb Slots,Visual DInar/lvl
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
DWORD dwPlayer = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
float posiX;
float posiY;
float posiZ;
void speedon0 ()
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF) // Hotkey
{
*(float*)(OFS_SPEED) = 97.0f; // Addy und Angabe zu der geschwindigkeit
}
}
void speedon1 ()
{
if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 115.0f;
}
}
void speedon2 ()
{
if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 125.0f;
}
}
void speedon3 ()
{
if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 135.0f;
}
}
void speedon4 ()
{
if(GetAsyncKeyState(VK_NUMPAD4) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 145.0f;
}
}
void speedon5 ()
{
if(GetAsyncKeyState(VK_NUMPAD5) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 200.0f;
}
}
void speedon6 ()
{
if(GetAsyncKeyState(VK_NUMPAD6) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 300.0f;
}
}
void exit()
{
if(GetAsyncKeyState(VK_DELETE) &1<< 0xF)
{
ExitProcess(0);
}
}
void Dig()
{
if(GetAsyncKeyState(VK_MENU) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = -2000;
}
}
}
void nfd()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_NFD) = -2000000;
}
}
void jump()
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 2500;
}
}
}
void Teleport()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if (GetAsyncKeyState(VK_F2))
{
posiX = *(float*)(dwPlayerPtr + OFS_X);
posiY = *(float*)(dwPlayerPtr + OFS_Y);
posiZ = *(float*)(dwPlayerPtr + OFS_Z);
}
if (GetAsyncKeyState(VK_F3))
{
*(float*)(dwPlayerPtr + OFS_X) = posiX;
*(float*)(dwPlayerPtr + OFS_Y) = posiY;
*(float*)(dwPlayerPtr + OFS_Z) = posiZ;
}
}
}
void Weapon(void)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if(NoSpread==true)
{
*(int*) ADR_NOSPREAD = 0;
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_NOSPREAD, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_NOSPREAD, &t , sizeof(t));
VirtualProtect((void*)ADR_NOSPREAD, sizeof(t), Protection, 0);
}
if(GetAsyncKeyState(VK_NUMPAD9) &1)
{
NoSpread = NoSpread==false;
}
if(NoRecoil==true)
{
*(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0;
}
if(GetAsyncKeyState(VK_NUMPAD8) &1)
{
NoRecoil = NoRecoil==false;
}
}}
void AllSlots()
{
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
if(dwServer != 0)
{
*(long*)(dwServer+OFS_5SLOT) = 1;
*(long*)(dwServer+OFS_6SLOT) = 1;
*(long*)(dwServer+OFS_7SLOT) = 1;
*(long*)(dwServer+OFS_8SLOT) = 1;
}
}
|
jetzt aber der hackthread :P das kommt jetzt darunter
Quote:
void HackThread()
{
for(;
{
speedon0();
speedon1();
speedon2();
speedon3();
speedon4();
speedon5();
speedon6();
AllSlots();
jump();
exit();
Dig();
nfd();
Teleport();
Weapon();
Sleep(200);
}
}
|
achtet drauf das erure funktionen auch im hackthread auftauchen richtig geschrieben also wenn die funktion Void speedon0 heißt muss es im hackthread auch speedon0 heißen
Und das Ende Unseres hacks :
Quote:
BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
switch(DWORD_GRUND)
{
case 1:
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread , 0, 0, 0);
break;
case 2:
break;
}
return TRUE;
}
|
wenn ihr alles gemacht hab wie ich dann musste es so aussehen :
Quote:
#pragma warning(disable: 4244)
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define ADR_PLAYERPOINTER 0x00D284E8 // zb speed,no recoil
#define ADR_SERVERPOINTER 0x00C24B10 //zb Slots,Visual DInar/lvl
#define OFS_5SLOT 0x001021A4 // 5 Slot freischalten
#define OFS_6SLOT 0x001021A5 // 6 Slot freischalten
#define OFS_7SLOT 0x001021A6 // 7 Slot freischalten
#define OFS_8SLOT 0x001021A7 // 8 Slot freischalten
#define OFS_NFD 0x00103A4 // Nofalldamage.kein fall schaden
#define OFS_X 0x00102D4 // Fuer Bewegung Rechts & Links
#define OFS_Y 0x00102DC // Fuer Bewegung Rechts & Links
#define OFS_Z 0x00102D8 // Fuer Bewegung Hoch & Runter
#define OFS_SPEED 0xA4B8D4 // Geschwindigkeit
#define ADR_NOSPREAD 0x00AE32BC // Kugel verstreuen Nicht
#define OFS_NORECOIL1 0x001C // Waffe zieht nich nach oben
#define OFS_NORECOIL2 0x0020 // ""
#define OFS_NORECOIL3 0x0024 // ""
bool NoRecoil = true; // ON/OFF trigger -true= Starten False= Beenden
bool NoSpread = true; // ON/OFF trigger -true= Starten False= Beenden
DWORD dwPlayer = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
float posiX;
float posiY;
float posiZ;
void speedon0 ()
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF) // Hotkey
{
*(float*)(OFS_SPEED) = 97.0f; // Addy und Angabe zu der geschwindigkeit
}
}
void speedon1 ()
{
if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 115.0f;
}
}
void speedon2 ()
{
if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 125.0f;
}
}
void speedon3 ()
{
if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 135.0f;
}
}
void speedon4 ()
{
if(GetAsyncKeyState(VK_NUMPAD4) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 145.0f;
}
}
void speedon5 ()
{
if(GetAsyncKeyState(VK_NUMPAD5) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 200.0f;
}
}
void speedon6 ()
{
if(GetAsyncKeyState(VK_NUMPAD6) &1<< 0xF)
{
*(float*)(OFS_SPEED) = 300.0f;
}
}
void exit()
{
if(GetAsyncKeyState(VK_DELETE) &1<< 0xF)
{
ExitProcess(0);
}
}
void Dig()
{
if(GetAsyncKeyState(VK_MENU) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = -2000;
}
}
}
void nfd()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_NFD) = -2000000;
}
}
void jump()
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 2500;
}
}
}
void Teleport()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if (GetAsyncKeyState(VK_F2))
{
posiX = *(float*)(dwPlayerPtr + OFS_X);
posiY = *(float*)(dwPlayerPtr + OFS_Y);
posiZ = *(float*)(dwPlayerPtr + OFS_Z);
}
if (GetAsyncKeyState(VK_F3))
{
*(float*)(dwPlayerPtr + OFS_X) = posiX;
*(float*)(dwPlayerPtr + OFS_Y) = posiY;
*(float*)(dwPlayerPtr + OFS_Z) = posiZ;
}
}
}
void Weapon(void)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if(NoSpread==true)
{
*(int*) ADR_NOSPREAD = 0;
}
if(GetAsyncKeyState(VK_NUMPAD9) &1)
{
NoSpread = NoSpread==false;
}
if(NoRecoil==true)
{
*(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0;
}
if(GetAsyncKeyState(VK_NUMPAD8) &1)
{
NoRecoil = NoRecoil==false;
}
}}
void AllSlots()
{
DWORD dwServer = *(DWORD*)ADR_SERVERPOINTER;
if(dwServer != 0)
{
*(long*)(dwServer+OFS_5SLOT) = 1;
*(long*)(dwServer+OFS_6SLOT) = 1;
*(long*)(dwServer+OFS_7SLOT) = 1;
*(long*)(dwServer+OFS_8SLOT) = 1;
}
}
void HackThread()
{
for(;
{
speedon0();
speedon1();
speedon2();
speedon3();
speedon4();
speedon5();
speedon6();
jump();
AllSlots();
exit();
Dig();
nfd();
Teleport();
Weapon();
Sleep(200);
}
}
BOOL WINAPI DllMain(HINSTANCE mod, DWORD DWORD_GRUND, LPVOID res)
{
switch(DWORD_GRUND)
{
case 1:
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread , 0, 0, 0);
break;
case 2:
break;
}
return TRUE;
}
|
jetzt speichern wir mal das gesammte projekt ab oben links in der leiste
dann musst ihr nur noch F7 druecken und euer hack wird erstellt
wenn ihr alles richtig gemacht hab dann sollte folgendes untern zu lesen sein
Quote:
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========
|
euren hack findet ihr unter
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2008\Projects\euer projekt name\Debug
es ist eine dll datei wenn ihr den hack benutzen wollt sorg dafuer das der hack und der injektor gleich heißen :
jetzt kommen noch ein parr funktionen die ihr einbauen könnt :
Quote:
void Scope ()
{
if(GetAsyncKeyState(VK_RBUTTON))
{
*(int*)(ADR_SCOPE) = (int)1;
}
else
{
*(int*)(ADR_SCOPE) = (int)5;
}
}
void fullbright ()
{
*(int*)(ADR_FULL_BRIGHT1) = 1092779973;
*(int*)(ADR_FULL_BRIGHT2) = 1092779973;
*(int*)(ADR_FULL_BRIGHT3) = 1092779973;
}
void exit()
{
if(GetAsyncKeyState(VK_DELETE) &1<< 0xF)
{
ExitProcess(0);
}
}
void nofog()
{
*(float*)FogFar = 1166127104;
*(float*)FogNear = 0;
}
void softjump()
{
if (GetAsyncKeyState(VK_MBUTTON))
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_GRAV) = 300.0f;
}
}
}
void nobounds ()
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_BOUNDS_1, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_BOUNDS_1, &t , sizeof(t));
VirtualProtect((void*)ADR_BOUNDS_1, sizeof(t), Protection, 0);
VirtualProtect((void*)ADR_BOUNDS_2, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_BOUNDS_2, &t , sizeof(t));
VirtualProtect((void*)ADR_BOUNDS_2, sizeof(t), Protection, 0);
}
void FastAll ()
{
*(double*)ADR_FASTHEALTH = 10;
*(double*)Adr_FastAmmo = 50;
}
void nowater ()
{
if(GetAsyncKeyState(VK_TAB) &1)
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_NOWATER, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_NOWATER, &t , sizeof(t));
VirtualProtect((void*)ADR_NOWATER, sizeof(t), Protection, 0);
}
}
void Spawn()
{
if(GetAsyncKeyState(VK_PAUSE) &1)
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_QUICKSPAWN1, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_QUICKSPAWN1, &t , sizeof(t));
VirtualProtect((void*)ADR_QUICKSPAWN1, sizeof(t), Protection, 0);
VirtualProtect((void*)ADR_QUICKSPAWN2, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_QUICKSPAWN2, &t , sizeof(t));
VirtualProtect((void*)ADR_QUICKSPAWN2, sizeof(t), Protection, 0);
VirtualProtect((void*)ADR_QUICKSPAWN3, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_QUICKSPAWN3, &t , sizeof(t));
VirtualProtect((void*)ADR_QUICKSPAWN3, sizeof(t), Protection, 0);
}
}
void FFASpawn ()
{
if(GetAsyncKeyState(VK_PAUSE) &1)
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_FFASPAWN, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_FFASPAWN, &t , sizeof(t));
VirtualProtect((void*)ADR_FFASPAWN, sizeof(t), Protection, 0);
VirtualProtect((void*)ADR_FFASPAWN, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_FFASPAWN, &t , sizeof(t));
VirtualProtect((void*)ADR_FFASPAWN, sizeof(t), Protection, 0);
}
}
void Snospread()
{
if(GetAsyncKeyState(VK_PRINT) &1)
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_SNOSPREAD, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_SNOSPREAD, &t , sizeof(t));
VirtualProtect((void*)ADR_SNOSPREAD, sizeof(t), Protection, 0);
*(float*)(ADR_SNOSPREAD) = 0;
}
}
void speedbomge()
{
if(GetAsyncKeyState(VK_NUMPAD7) &1)
{
*(float*)(OFS_Speed) = 200.0f;
Sleep(50);
keybd_event(VK_LSHIFT , 0, 0, 0);
keybd_event(VK_LSHIFT , 0, KEYEVENTF_KEYUP, 0);
Sleep(400);
*(float*)(OFS_Speed) = 115.0f;
keybd_event(VK_LBUTTON , 0, 0, 0);
keybd_event(VK_LBUTTON , 0, KEYEVENTF_KEYUP, 0);
Sleep(100);
}
}
keybd_event(VK_LSHIFT , 0, 0, 0);
keybd_event(VK_LSHIFT , 0, KEYEVENTF_KEYUP, 0);
bedeutet er drueckt die shift taste und lässt sie wieder los
void laggen ()
{
if(GetAsyncKeyState(VK_NEXT) &1)
{
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
Sleep(200);
*(float*)(OFS_Speed) = 130.0f;
Sleep(200);
*(float*)(OFS_Speed) = 105.0f;
}
}
void ExtraAmmo ()
{
*(int*)(ADR_EXTRAAMMO1) = 1;
}
void ExtraAmmo2 ()
{
*(int*)(ADR_EXTRAAMMO2) = 1;
}
void platinum ()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0)
{
*(long*)(dwSrvrPtr+OFS_PREMIUM) = 4, 10;
{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;
}}}
void speedschub ()
{
if(GetAsyncKeyState(VK_INSERT) &1<< 0xF)
{
*(float*)(ADR_SPEEDHACK) = 200.0f;
Sleep(200);
*(float*)(ADR_SPEEDHACK) = 105.0f;
Sleep(400);
*(float*)(ADR_SPEEDHACK) = 250.0f;
Sleep(300);
*(float*)(ADR_SPEEDHACK) = 105.0f;
}
}
void Dinar ()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwPlayerPtr != 0)
{
*(long*)(dwPlayerPtr+OFS_DINAR) = 999999999;
}
}
void Supermaster ()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0){
*(int*)(dwSrvrPtr+OFS_SUPERMASTER) = 1;
}
}
void SniperPX ()
{
*(int*)(ADR_PX_SNIPER) = 0;
}
|
hier sind ein parr hotkeys/tasten
Quote:
VK_LBUTTON - Left mouse button
VK_RBUTTON - Right mouse button
VK_CANCEL - Control-break processing
VK_MBUTTON - Middle mouse button (three-button mouse)
VK_BACK - BACKSPACE key
VK_TAB - TAB key
VK_CLEAR - CLEAR key
VK_RETURN - ENTER key
VK_SHIFT - SHIFT key
VK_CONTROL - CTRL key
VK_MENU - ALT key
VK_PAUSE - PAUSE key
VK_CAPITAL - CAPS LOCK key
VK_ESCAPE - ESC key
VK_SPACE - SPACEBAR
VK_PRIOR - PAGE UP key
VK_NEXT - PAGE DOWN key
VK_END - END key
VK_HOME - HOME key
VK_LEFT - LEFT ARROW key
VK_UP - UP ARROW key
VK_RIGHT - RIGHT ARROW key
VK_DOWN - DOWN ARROW key
VK_SELECT - SELECT key
VK_PRINT - PRINT key
VK_EXECUTE - EXECUTE key
VK_SNAPSHOT - PRINT SCREEN key
VK_INSERT - INS key
VK_DELETE - DEL key
VK_HELP - HELP key
30 0 key
31 1 key
32 2 key
33 3 key
34 4 key
35 5 key
36 6 key
37 7 key
38 8 key
39 9 key
41 A key
42 B key
43 C key
44 D key
45 E key
46 F key
47 G key
48 H key
49 I key
4A J key
4B K key
4C L key
4D M key
4E N key
4F O key
50 P key
51 Q key
52 R key
53 S key
54 T key
55 U key
56 V key
57 W key
58 X key
59 Y key
5A Z key
VK_NUMPAD0 - Numeric keypad 0 key
VK_NUMPAD1 - Numeric keypad 1 key
VK_NUMPAD2 - Numeric keypad 2 key
VK_NUMPAD3 - Numeric keypad 3 key
VK_NUMPAD4 - Numeric keypad 4 key
VK_NUMPAD5 - Numeric keypad 5 key
VK_NUMPAD6 - Numeric keypad 6 key
VK_NUMPAD7 - Numeric keypad 7 key
VK_NUMPAD8 - Numeric keypad 8 key
VK_NUMPAD9 - Numeric keypad 9 key
VK_SEPARATOR - Separator key
VK_SUBTRACT - Subtract key
VK_DECIMAL - Decimal key
VK_DIVIDE - Divide key
VK_F1 - F1 key
VK_F2 - F2 key
VK_F3 - F3 key
VK_F4 - F4 key
VK_F5 - F5 key
VK_F6 - F6 key
VK_F7 - F7 key
VK_F8 - F8 key
VK_F9 - F9 key
VK_F10 - F10 key
VK_F11 - F11 key
VK_F12 - F12 key
VK_NUMLOCK - NUM LOCK key
VK_SCROLL - SCROLL LOCK key
VK_LSHIFT - Left SHIFT key
VK_RSHIFT - Right SHIFT key
VK_LCONTROL - Left CONTROL key
VK_RCONTROL - Right CONTROL key
VK_LMENU - Left MENU key
VK_RMENU - Right MENU key
VK_PLAY - Play key
VK_ZOOM - Zoom key
|
hier findet hier ein parr addys:
hier noch ein Injektor den ihr nehmen Könnt ich hab nach Cronors ( falsch geschrieben? bestimmt xD ) Methode benutzt fuer denn injektor.oder nimmt euren eigenden
so alles in allen hab ich viel geschrieben :P
Creditz:
Hacktec
_-Jimmy-_ // er hilt ja immer mit :P
CyberRazzer // fuer addys und fuer die basic version
wenn ihr es leehed / kopiert gibt die creditz bitte an ty = )
und wenn ihr mit den tut ein hack erstellt gibt doch creditz ruhig an