Heute zeige ich euch wie ihr leich einen NoMenü Hack erstellen könnt.
So, als erstes müssen wir natürlich C++ starten, bzw downloaden.
Dazu sucht euch in Google einfach den Downloadlink heraus, oder lest euch auch nochmal bevor ihr das anfangt meine Klarstellung durch. ( Links sind dabei )
Naja, jetzt das eigentliche.
Ihr startet erstmal C++ und macht ein neues Win32 Projekt und ergänze ggbf. einen Namen für deinen Hack.
Beim Assistenten wie gewohnt weiter klicken und da wir alle Dll erstellen möchten, wie es beim WarRock NoMenü Hack üblich ist, wählen wir natürlich dll aus.
Fügt zu den Quelldateien ein neues "Element" (C++ Datei.cpp) hinzu und benennt es "main.cpp".
So, nun machen wir uns an den Code:
Als erstes müssen wir die wichtigen Dinge einbeziehen, die wir für eine dll brauchen, hier heißt es einfach nur
Code:
#include <windows.h> #include <stdio.h>
Code:
#define ;Hier ggbf. der Name der Funktion & die Addy #define
Code:
#define ADR_GLASSWALLS 0x00B1E2D8 #define ADR_FULLBRIGHT1 0x00A42634 #define ADR_FULLBRIGHT2 0x00A42638 #define ADR_FULLBRIGHT3 0x00A4263C #define ADR_FEARFOG 0x00B1E2D8 #define ADR_NOFOG 0x00B1E2D4 #define ADR_PLAYERLEVEL 0x00C37AC0 #define ADR_WTW 0x006C20F7 Bytes = {0xd8,0x4a,0x08,}; #define ADR_STW 0x007018B6 Bytes = {0x8b,0x51,0x38,}; #define ADR_NO_WATER 0x00A3A0D8 #define ADR_HEADSHOT1 0x0047BC59 #define ADR_HEADSHOT2 0x0047BC5F #define ADR_NECKSHOT 0x0047BDA2 #define ADR_SPINESHOT 0x0047BC71 #define ADR_INVISIBLE 0x0069218E #define ADR_ESCALATOR1 0x006C3147 #define ADR_ESCALATOR2 0x006C3284 #define ADR_QUICKPLANT 0x006A03B7 #define ADR_QUICKDEFUSE 0x006A08E2 #define ADR_AntiMine 0x0049610C #define ADR_UnlOxxxy 0x006955F0 #define ADR_ESPNAME 0x0064880A #define ADR_ESPHEALTH 0x006484E7 #define ADR_FAKEKICK 0x0065B8A9 #define ADR_SPECTATOR 0x00467368 #define ADR_SUPERNOSPREAD 0x006990BA #define ADR_SPEED 0x009B8EFC #define ADR_SPEED_ROLL 0x009D4E18 #define ADR_HS 0x004AC300 #define ADR_ARTILLERY1 0x0069D880 #define ADR_ARTILLERY2 0x0069DB57 #define ADR_ARTILLERY3 0x006649D9 #define ADR_ARTILLERY4 0x00664A35 #define ADR_ARTILLERY5 0x00664774 #define ADR_ARTILLERY6 0x006414D1 #define ADR_ARTILLERY7 0x00664937 #define ADR_ARTILLERY8 0x00641493 #define ADR_OPK1 0x0068570C #define ADR_OPK2 0x00685716 #define ADR_OPK3 0x0068571C #define ADR_NODELAY 0x006A3564 #define ADR_SVP 0x006856FE #define ADR_WUW 0x0069557E #define ADR_AUTOMEDIC 0x0069B400 #define ADR_AUTOREPAIR 0x0044FA73 #define ADR_AUTOAMMO 0x0069B347 #define ADR_UNLAMMO 0x0068F86F #define ADR_PRONE 0x00694215 #define ADR_VEHJUMPLOW 0x004A61DC #define ADR_VEHICLEJUMP1 0x0076D2BB #define ADR_VVEHICLEJUMP2 0x006C73FC #define ADR_VEHICLEJUMP3 0x0076D2E6 #define ADR_OMGCAR1 0x00454856 #define ADR_OMGCAR2 0x00454856 #define ADR_OMGCAR3 0x00454856 #define ADR_FASTAS 0x00697543 #define ASMCHROSSAIR1 0x00640A77 #define ASMCHROSSAIR2 0x00640A8E #define ADR_ALLSERVER 0x004BD95B #define ADR_BASEPOINTER 0x00C375E0 #define OFS_PREMIUM 0x0000037C #define OFS_PREMIUMDAYS 0x00000380
Der HackThread benötigt die jeweiligen Optionen ob Ingame oder outgame, heißt ob die Funktionen Ingame stattfinden.
Code:
void HackThread() { for(;; ) { if(*ingame) ; In oder outgame Funktionen hinzufügen { superjump(); } if(*outgame) ; Hier auch { slot5(); }
Code:
;Hier die gewünschten "Funktionen" einfügen ( void ), siehe unten
Code:
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved) { if(dwReason == DLL_PROCESS_ATTACH) { CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0); } return TRUE; }
Code:
//Low Gravity :: Hotkey = Middle mousebutton void lowgravity () { if (GetAsyncKeyState(VK_MBUTTON)) //hotkey is middel mouse buttom { DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPTR; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+OFS_GRAV) = 100.0f; } } } //5th Slot void Slots5 () { DWORD dwPlayerPtr = *(DWORD*)Serverpointer; if(dwPlayerPtr != 0) { *(long*)(dwPlayerPtr+Slot5_OffSet) = 1; } } //No Spread void spread () //no spread { *(float*) No_Spread = 0; } //Extra Clip A/S void ExtraAmmo () //we want extrea clip allways =) { *(int*)(Extra_Ammo_1) = 1; } void ExtraAmmo2 () //we want extrea clip allways =) { *(int*)(Extra_Ammo_2) = 1; } //Virtual Dig :: Hotkey = Alt void Dig() { if(GetAsyncKeyState(VK_MENU) &1) { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+OFS_Z) = -2000; } } } //No Water void nowater () //no water { long t=0; unsigned long Protection; VirtualProtect((void*)No_Water, sizeof(t), PAGE_READWRITE, &Protection); memcpy((void*)No_Water, &t , sizeof(t)); VirtualProtect((void*)No_Water, sizeof(t), Protection, 0); } //No Bounds void nobounds () //nobounds { long t=0; unsigned long Protection; VirtualProtect((void*)No_Bounds_2, sizeof(t), PAGE_READWRITE, &Protection); memcpy((void*)No_Bounds_2, &t , sizeof(t)); VirtualProtect((void*)No_Bounds_2, sizeof(t), Protection, 0); VirtualProtect((void*)No_Bounds_2, sizeof(t), PAGE_READWRITE, &Protection); memcpy((void*)No_Bounds_2, &t , sizeof(t)); VirtualProtect((void*)No_Bounds_2, sizeof(t), Protection, 0); } //No Fall Damage void nfd () //NFD { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000; } } //No Recoil void norecoil () //norecoil { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0; *(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0; *(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0; } } //Stamina: Stealth void stamina () //stamina { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+Stamina_OffSet) = 30; } } //Stamina: Full void stamina () //stamina { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+Stamina_OffSet) = 100; } } //Super Jump // 1000 ft. :: Hotkey= Control Button void jump () //super jump { if(GetAsyncKeyState(VK_CONTROL) &1) { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)(dwPlayerPtr+OFS_Z) = 1000; } } } //Speed Normal :: Hotkey = Numpad 0 void speedoff () { if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF) { *(float*)(Speed) = 100.0f; } } //Speed x5 :: Hotkey = Numpad 3 void speedon3 () { if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF) { *(float*)(Speed) = 500.0f; } } //Speed x3 :: Hotkey = Numpad 2 void speedon2 () { if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF) { *(float*)(Speed) = 300.0f; } } //Speed x2 :: Hotkey = Numpad 1 void speedon1 () { if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF) { *(float*)(Speed) = 200.0f; } } //No Fog void nofog () //no fog { *(float*)GlassWalls_FarFog = 1166127104;//far fog address *(float*)Near_Fog = 0; //nearfog addres } //Full Bright void fullbright () //fullbright { *(int*)(Full_Bright_1) = 1092779973; *(int*)(Full_Bright_2) = 1092779973; *(int*)(Full_Bright_3) = 1092779973; } //Fast F/A/H/R void FastAll () { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; if(dwPlayerPtr != 0) { *(float*)Fast_Repair = 10.0f; *(float*)Fast_Health = 5.0f; *(float*)Fast_Flag = 10.0f; *(float*)Fast_Ammo = 5.0f; }} //Teleport :: Hotkey= Numper Pad 5 void Teleport () { DWORD dwPlayerPtr = *(DWORD*)Playerpointer; /// Player Pointer Addie if(dwPlayerPtr != 0) { float PositionY = 0.0; float PositionX = 0.0;float PositionZ = 0.0; PositionX = *(float*)(dwPlayerPtr + OFS_X); PositionY = *(float*)(dwPlayerPtr + OFS_Y); PositionZ = *(float*)(dwPlayerPtr + OFS_Z); if(GetAsyncKeyState(VK_NUMPAD5)&1){ Telx = PositionX; Tely = PositionY; Telz = PositionZ;} if(GetAsyncKeyState(VK_NUMPAD4)&1){ *(float*)(dwPlayerPtr + OFS_X) = Telx; *(float*)(dwPlayerPtr + OFS_Y) = Tely; *(float*)(dwPlayerPtr + OFS_Z) = Telz;} if(GetAsyncKeyState(VK_NUMPAD6)&1){ *(float*)(dwPlayerPtr + OFS_X) += 30;}}} //Quick Spawn void Spawn () { 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); } //SuperMaster void Supermaster () { DWORD dwSrvrPtr = *(DWORD*)Serverpointer; if(dwSrvrPtr != 0){ *(int*)(dwSrvrPtr+Super_Master_OffSet) = 1; } } //Bronze Premium void bronze() //Bronze Premium { DWORD dwSrvrPtr = *(DWORD*)Serverpointer; if(dwSrvrPtr != 0) { *(long*)(dwSrvrPtr+Premium_OffSet) = 1, 10; // 1 = bronze 2 = silver 3 = gold 4 = platinum { *(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1; }}} //Silver Premium void silver() //SilverPremium { DWORD dwSrvrPtr = *(DWORD*)Serverpointer; if(dwSrvrPtr != 0) { *(long*)(dwSrvrPtr+Premium_OffSet) = 2, 10; // 1 = bronze 2 = silver 3 = gold 4 = platinum { *(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1; }}} //Gold Premium void gold() //Gold Premium { DWORD dwSrvrPtr = *(DWORD*)Serverpointer; if(dwSrvrPtr != 0) { *(long*)(dwSrvrPtr+Premium_OffSet) = 3, 10; // 1 = bronze 2 = silver 3 = gold 4 = platinum { *(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1; }}} //Platinum Premium void platinum () //Platinum Premium { DWORD dwSrvrPtr = *(DWORD*)Serverpointer; if(dwSrvrPtr != 0) { *(long*)(dwSrvrPtr+Premium_OffSet) = 4, 10; // 1 = bronze 2 = silver 3 = gold 4 = platinum { *(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1; }}}
Wenn es euch gefallen hat klickt auf Thanks danke.