Code:
#include <windows.h>
#include <stdio.h>
#include "Log.h"
#include "Pattern.h"
void SearchPatterns(void)
{
Sleep(1000);
dwStartAddress = 0x400000;
do {
dwStartAddress = (DWORD)GetModuleHandle("WarRock.exe");
Sleep(10);
}while(!dwStartAddress);
dwSize = 0x500000;
//////////////////////////////////////////START LOGGING PATTERN/////////////////////////////////////////////////////////////////////
DWORD GlassWall = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\xD9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x00\x8B\x0D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xx???xx?????????xxxxxx?xx???x????????????", 2, true );
DWORD Addr_PlayerSpeed = FindPattern((PBYTE)"\xD8\x0D\x00\x00\x00\x00\x5E\xC2\x04};","xx????xxx", 2, true);
DWORD dwPlayerPointer = FindPattern((PBYTE)"\x8B\x0D\x00\x00\x00\x00\x66\x83\xB9};", "xx????xxx", 2, true);
DWORD Addr_Glasswall2 = FindPattern((PBYTE)"\x68\x00\x00\x97\x00\xE9\x76\x04\x00\x00\x8D\x85", "x??xxxxxxxxx", 1, true );
DWORD dwSerVerPointer = FindPattern((PBYTE)"\x8B\x0D\x00\x00\x00\x00\x85\xC9\xA1", "xx???xxxx", 2, true );
DWORD sCLASSpointer = FindPattern((PBYTE)"\x8B\xB0\x00\x00\x00\x00\xE8\x00\x00\xFF\xFF", "xx???xx??xx", 2, true );
DWORD dwWeaponPointer = FindPattern((PBYTE)"\xA1\x00\x00\x00\x00\xEB\x13\xA1\x00\x00\x00\x00", "x???xxxx???x", 1, true );
DWORD dwBasePointer = FindPattern((PBYTE)"\x81\xC1\x00\x00\x00\x00\xEB\x0F\x8D};", "xx????xxx", 2, true);
DWORD dwDevicePointer = FindPattern((PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x10};", "xx????xxx", 2, true);
DWORD dwUserPointer = FindPattern((PBYTE)"\x8B\x15\x00\x00\x00\x00\x33\xF6\x85};", "xx????xxx", 2, true);
DWORD superNs = FindPattern ((PBYTE)"\xDC\x05\x00\x00\x00\x00\xD9\x5D\x54;}", "xx????xxx", 2, true);
DWORD dwCQCProne = FindPattern((PBYTE)"\x83\x3D\x00\x00\x00\x00\x04\x75\x03" ,"xx???xxx",2,true);
DWORD nfd = FindPattern((PBYTE)"\x33\x07\x51\x89\x45\xFC\xD9\x45", "xxxxxxxx", 0, 0 );
DWORD asmWTW = FindPattern ((PBYTE)"\xD8\x4A\x00\xD9\x44\x24\x00\xD8\x81\x00\x00\x00\x00;}", "xx?xxx?xx????", 0, 0);
DWORD D3DPointer = FindPattern((PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx", 2, true);
DWORD Index_struct = FindPattern((PBYTE)"\xFF\xB6\x90\xC4\x00\x00\xE8\x00\x00\x09\x00\x84\xC0\x59\x74", "xxxxxxx??xxxxxx", 2, true);
DWORD Fast_Stamina = FindPattern((PBYTE)"\x00\x00\x20\x41\x00\x00\x70\x41","xxxxxxxx", 0, 0);
DWORD OPK = FindPattern((PBYTE)"\x55\x8B\xEC\x51\x51\x8B\x00\x14\x33\x00\x10", "xxxxxx?xx?x", 0, 0);
DWORD unlisp = FindPattern((PBYTE)"\x00\x00\xC8\x42\x00\x00\x20\x41\x00\x00\x70\x41","xxxxxxxxxxxx",0,0);
DWORD BONESHOT = FindPattern ((PBYTE)"\x00\xA0\x9A\x44\x9A\x99","xxxxxx",0,0);
DWORD SPIDEY = FindPattern ((PBYTE)"\xD9\x05\xAC\xAF\x81\x00","xxxxxx",2,true);
DWORD dwLevel = FindPattern ((PBYTE)"\x8B\x89\x00\x00\x00\x00\x89\x88;}", "xx????xx", 2, true);
DWORD dwDinar = dwLevel + 0x10;
DWORD dwNoRecoil1 = FindPattern((PBYTE)"\x89\x87\x00\x00\x00\x00\x8B\x46\x00\x89\x87\x00\x00\x00\x00};","xx????xx?xx????",2,true);
DWORD dwImDrunk = FindPattern((PBYTE)"\x66\x83\x3D\x00\x00\x00\x00\x00\x00\x74\x00\x8B\x00\x00\x00};", "xxx??????x?x???",3,true);
DWORD PlantAnywhere = FindPattern((PBYTE)"\x88\x1D\x00\x00\x00\x00\x88\x00\x00", "xx???xx??", 2, true )-3;
DWORD dwWaterColor1 = FindPattern ((PBYTE)"\x68\x00\x00\x00\x00\x83\xEC;}", "x????xx" , 1, true);
DWORD dwWaterColor2 = dwWaterColor1 + 0x4;
DWORD dwWaterColor3 = dwWaterColor1 + 0x8;
DWORD dwFullBright1 = FindPattern ((PBYTE)"\xD8\x05\x00\x00\x00\x00\x8D\x45;}", "xx????xx", 2, true);
DWORD dwFullBright2 = dwFullBright1 + 0x4;
DWORD dwFullBright3 = dwFullBright1 + 0x8;
DWORD Virtualjump = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\xEB\x06\xD9\x05\x00\x00\x00\x00", "xx???xxxxx???x", 2, true );
DWORD Unliammo = FindPattern((PBYTE)"\x8B\x0D\x00\x00\x00\x00\x85\xC9\x74\x0D\x8B\x01\x6A\x01", "xx???xxxxxxxxx", 2, true )+168100;
DWORD SNS = FindPattern((PBYTE)"\xDC\x05\x00\x00\x00\x00\x8B\xCF\xD9\x5D\x08\xE8\x00\x00\x26\x00", "xx???xxxxxxx??xx", 2, true );
DWORD unliStamina = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\x51\x51\xD9\x5C\x24\x04\xD9\xEE", "xx???xxxxxxxxx", 2, true );
DWORD scope = FindPattern((PBYTE)"\xC7\x05\x00\x00\x00\x00\x05\x00\x00\x00\xC7\x05\x00\x00\x00\x00\x00\x00\x70\x42", "xx???xxxxxxx???xxxxx", 2, true );
DWORD weapongravity = FindPattern((PBYTE)"\xD8\x0D\x00\x00\x00\x00\x8B\x51\x04\x89\x55\x60\xD8\x45\x5C", "xx???xxxxxxxxxx", 2, true );
DWORD NoBounds1 = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\x8D\x34\x90\xD8\x45\x08\x8B\x06", "xx???xxxxxxxxx", 2, true )-4;
DWORD NoBounds2 = FindPattern((PBYTE)"\xD9\x1D\x00\x00\x00\x00\xA3\x00\x00\x00\x00\xE9\x63\x02\x00\x00", "xx???xx???xxxxxx", 2, true );
DWORD NoBounds3 = FindPattern((PBYTE)"\xD9\x1D\x00\x00\x00\x00\xE8\x00\x00\xFB\xFF\xD9\xEE", "xx???xx??xxxx", 2, true );
DWORD NoSpawnWait1 = FindPattern((PBYTE)"\x83\x3D\x00\x00\x00\x00\x00\x75\x08\x8B\x45\x08", "xx???xxxxxxx", 2, true );
DWORD NoSpawnWait2 = FindPattern((PBYTE)"\x2B\x05\x00\x00\x00\x00\x3B\xC1\x0F\x86\xD4\x00\x00\x00\xE8\x00\x00\x08\x00", "xx???xxxxxxxxxx??xx", 2, true );
DWORD NoSpawnWait3 = FindPattern((PBYTE)"\x8B\x0D\x00\x00\x00\x00\x69\xC9\xE8\x03\x00\x00\x85\xC0\x8B\x45\x08\x74\x2D", "xx???xxxxxxxxxxxxxx", 2, true );
DWORD FastAmmo = FindPattern((PBYTE)"\xB9\x00\x00\x00\x00\xD9\x5D\xCC\xE8\x00\x00\xFF\xFF", "x???xxxxx??xx", 2, true );
DWORD FastRepair_FastMedic = FindPattern((PBYTE)"\xB9\x00\x00\x00\x00\xE8\x00\xF6\xFF\xFF\xC6\x45\xD7\x01", "x???xx?xxxxxxx", 2, true );
DWORD FastFlag = FindPattern((PBYTE)"\xBE\x00\x00\x00\x00\x50\x8B\xCE\xE8\x00\xF9\xFC\xFF\xA1\x00\x00\x00\x00", "x???xxxxx?xxxx???x", 2, true );
DWORD WUW = FindPattern((PBYTE) "\x33\x05\x00\x00\x00\x00\x53\x89","xx???xxx",2,true);
DWORD HideWeapon = FindPattern((PBYTE) "\xD9\x05\x00\x00\x00\x00\xD8\xE1","xx???xxx",2,true);
DWORD realsj = FindPattern ((PBYTE)"\xD9\x05\x00\x00\x00\x00\xDF\xE0\xF6","xx???xxxx",2,true);
DWORD plantany = FindPattern ((PBYTE)"\x88\x1D\x00\x00\x00\x00\x88\x1D\x61","xx???xxx",2,true)-4;
DWORD spider = FindPattern ((PBYTE)"\xD9\x05\x00\x00\x00\x00\x6A\x00","xx???xxx",2,true);
DWORD anyhealthammo = FindPattern ((PBYTE)"\xD9\x05\x00\x00\x00\x00\x56\x33","xx???xxx",2,true);
DWORD mapcolor1 = FindPattern ((PBYTE)"\xD9\x05\x00\x00\x00\x00\x0B\xE8;}", "xx???xxx", 2, true);
DWORD mapcolor2 = mapcolor1 + 0x4;
DWORD mapcolor3 = mapcolor1 - 0x4;
DWORD ofsZ = FindPattern ((PBYTE)"\x8D\x86\xE8\x02\x01\x00\x8B\x48;}", "xxxxxxxx", 2, true);
DWORD ofsX = ofsZ - 0x8;
DWORD ofsY = ofsZ + 0x8;
DWORD defanywhere = dwWaterColor1 - 144;
DWORD autorepair = FindPattern ((PBYTE)"\x88\x1D\x00\x00\x00\x00\x88\x1D;}", "xx???xxx", 2, true);
DWORD autoammo = FindPattern ((PBYTE)"\x88\x1D\x00\x00\x00\x00\x66\xA3;}", "xx???xxx", 2, true);
DWORD rapidfire1 = FindPattern ((PBYTE)"\xD8\x1D\x00\x00\x00\x00\xDF\xE0","xx???xxx",2,true)-56076;
DWORD rapidfire = FindPattern((PBYTE)"\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x41\x7A\x1E\x6A\x01","xx???xxxxxxxxxx",2,true);
DWORD UnliAmmoaa = FindPattern((PBYTE)"\xA1\x00\x00\x00\x00\xC3\x8B\x0D\x00\x00\x00\x00\x85\xC9\x74\x0D", "x???xxxx???xxxxx", 2, true );
DWORD semimod = FindPattern((PBYTE)"\xD8\x0D\x00\x00\x00\x00\xE8\x78","xx???xxx",2,true);
DWORD wtw = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\xD9\xE8","xx???xxx",2,true);
DWORD lastikman = FindPattern ((PBYTE)"\xD9\x05\xBC\x00\x00\x00\xA1","xxx??xx",2,true);
DWORD wth = FindPattern((PBYTE)"\xD9\x05\x54\x00\x00\x00\x83\xEC\x0C","xxx??xxxx",2,true);
DWORD lastikman2 = FindPattern((PBYTE)"\xD9\x05\x00\x00\x00\x00\xD9\x5C","xx???xxx",2,true);//float 0.6
DWORD floating = FindPattern ((PBYTE)"\xD8\x15\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x41\x75\x0E\xDD\xD8\xD9\x05\x00","xx???xxxxxxxxxxxx?",2,true);
DWORD invisible = FindPattern((PBYTE)"\x8B\x80\x34\xA6\x11\x00","xxxxxx",2,true);
DWORD extraclip1 = FindPattern ((PBYTE)"\x80\x3D\x00\x00\x00\x00\x00\x74\x0B;}", "xx???xxxx", 2, true);
DWORD extraclip2 = extraclip1 + 0x1;
DWORD sniper2x = extraclip1 + 0x2;
DWORD assault2x = extraclip1 + 0x4;
DWORD bandage = extraclip1 + 0x6;
//DWORD fogcolor1 = FindPattern ((PBYTE)"\x68\x00\x00\x00\x00\x68\x94;}", "xx???xxxx", 2, true);
//DWORD fogcolor2 = fogcolor1 + 0x4;
//DWORD fogcolor3 = fogcolor1 - 0x4;
//////////////////////////////////////////STOP LOGGING PATTERN/////////////////////////////////////////////////////////////////////
/////////////D3ath//////////
Writelog("<-----------D3ath Address Logger----------->");
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog("<----------- ### POINTERS ADDRESSES ### ----------->");
Writelog("#define ADR_PlayerPointer 0x00%X",dwPlayerPointer);
Writelog("#define ADR_ServerPointer 0x00%X",dwSerVerPointer);
Writelog("#define ADR_ClassPointer 0x00%X",sCLASSpointer);
Writelog("#define ADR_WeaponPointer 0x00%X",dwWeaponPointer);
Writelog("#define ADR_BasePointer 0x00%X",dwBasePointer);
Writelog("#define ADR_DevicePointer 0x00%X",dwDevicePointer);
Writelog("#define ADR_UserPointer 0x00%X",dwUserPointer);
Writelog(" ");
Writelog(" ");
Writelog("<----------- ### MEMORY ADDRESSES ### ----------->");
Writelog("#define ADR_Glasswall 0x00%X",GlassWall);
Writelog("#define ADR_SuperNoSpread 0x00%X",SNS);
Writelog("#define ADR_SuperNoSpreadSTW 0x00%X",superNs);
Writelog("#define ADR_Unliammo 0x00%X",Unliammo);
Writelog("#define ADR_UnlimitedSP 0x00%X",unlisp);
Writelog("#define ADR_PlantAnyWhere 0x00%X",(plantany));
Writelog("#define ADR_DefuseAnyWhere 0x00%X",(defanywhere));
Writelog("#define ADR_Speed 0x00%X",Addr_PlayerSpeed);
Writelog("#define ADR_VirtualJump 0x00%X",Virtualjump);
Writelog("#define ADR_WTW 0x00%X",(wtw));
Writelog("#define ADR_RefillAmmoHealthAnyWhere 0x00%X",anyhealthammo);
Writelog("#define ADR_SemiModFullbright 0x00%X",(semimod));
Writelog("#define ADR_AutoRepair 0x00%X",(autorepair));
Writelog("#define ADR_AutoAmmo 0x00%X",(autoammo));
Writelog("#define ADR_RapidFire 0x00%X",rapidfire);
Writelog("#define ADR_Boneshot 0x00%X",BONESHOT);
Writelog("#define ADR_Invisible 0x00%X",invisible);
Writelog("#define ADR_FastStamina 0x00%X",Fast_Stamina);
Writelog("#define ADR_WallClimb 0x00%X",spider);
Writelog("#define ADR_Scope 0x00%X",scope);
Writelog("#define ADR_WalkUnderWater 0x00%X",WUW);
Writelog("#define ADR_WeaponGravity 0x00%X",weapongravity);
Writelog("#define ADR_HideWeapon 0x00%X",HideWeapon);
Writelog("#define ADR_SuperJump 0x00%X",realsj);
Writelog("#define ADR_Lastikman 0x00%X",(lastikman));
Writelog("#define ADR_LastikMan2 0x00%X",lastikman2);
Writelog("#define ADR_WTH 0x00%X",wth);
Writelog("#define ADR_Float 0x00%X",floating);
Writelog("#define ADR_ExtraClip1 0x00%X",extraclip1);
Writelog("#define ADR_ExtraClip2 0x00%X",extraclip2);
Writelog("#define ADR_Sniper2x 0x00%X",sniper2x);
Writelog("#define ADR_Assault2x 0x00%X",assault2x);
Writelog("#define ADR_Bandage 0x00%X",bandage);
Writelog("#define ADR_NoBounds1 0x00%X",NoBounds1);
Writelog("#define ADR_NoBounds2 0x00%X",NoBounds2);
Writelog("#define ADR_NoBounds3 0x00%X",NoBounds3);
Writelog("#define ADR_NoSpawnWait1 0x00%X",NoSpawnWait1);
Writelog("#define ADR_NoSpawnWait2 0x00%X",NoSpawnWait2);
Writelog("#define ADR_NoSpawnWait3 0x00%X",NoSpawnWait3);
//Writelog("#define ADR_FastAmmo 0x00%X",(fastammo1));
//Writelog("#define ADR_FastMedic 0x00%X",(fastmedic));
//Writelog("#define ADR_FastFlag 0x00%X",(fastflag1));
Writelog("#define ADR_FullBright1 0x00%X",dwFullBright1);
Writelog("#define ADR_FullBright2 0x00%X",(dwFullBright2));
Writelog("#define ADR_FullBright3 0x00%X",(dwFullBright3));
//Writelog("#define ADR_FogColor1 0x00%X",fogcolor1);
//Writelog("#define ADR_FogColor2 0x00%X",fogcolor2);
//Writelog("#define ADR_FogColor3 0x00%X",fogcolor3);
Writelog("#define ADR_MapColor1 0x00%X",mapcolor1);
Writelog("#define ADR_MapColor2 0x00%X",mapcolor2);
Writelog("#define ADR_MapColor3 0x00%X",mapcolor3);
Writelog("#define ADR_WaterColor1 0x00%X",(dwWaterColor2));
Writelog("#define ADR_WaterColor2 0x00%X",(dwWaterColor1));
Writelog("#define ADR_WaterColor3 0x00%X",(dwWaterColor3));
Writelog("#define ADR_CQCProne 0x00%X",dwCQCProne);
Writelog("#define ASM_WTW 0x00%X",asmWTW);
Writelog("#define ASM_OPK 0x00%X",OPK);
//Writelog("#define ASM_NFD 0x00%X",nfd);
//Writelog("#define Index_Struct 0x00%X",Index_struct);
//Writelog("#define D3D8_Device_Pointer 0x00%X",D3DPointer);
Writelog(" ");
Writelog(" ");
Writelog("<----------- ### OFFSETS ### ----------->");
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog("#define OFS_Z 0x00%X",ofsZ);
Writelog("#define OFS_X 0x00%X",ofsX);
Writelog("#define OFS_Y 0x00%X",ofsY);
//Writelog("#define OFS_NFD 0x00%X",dwNoFallDmg);
//Writelog("#define OFS_PREMIUM1 0x00%X",dwPremium1);
//Writelog("#define OFS_PREMIUM2 0x00%X",dwPremium2);
//Writelog("#define OFS_Dinar 0x%X",dwDinar);
//Writelog("#define OFS_NoRecoil1 0x00%X",dwNoRecoil1);
//Writelog("#define OFS_NoRecoil2 0x00%X",(dwNoRecoil1+0x4));
//Writelog("#define OFS_NoRecoil3 0x00%X",(dwNoRecoil1+0x8));
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog("<----------- ENDED Logging ----------->");
Writelog(" ");
Writelog(" ");
Writelog("END!!!");
Writelog(" ");
Writelog(" ");
Writelog(" ");
Writelog(" Made by D3ath ");
Writelog(" WarRock PH Address Logger ");
ExitProcess(0);
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if (dwReason==DLL_PROCESS_ATTACH)
{
logging(hDll);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)SearchPatterns, NULL, NULL, NULL);
}
return TRUE;
}
Log.cpp