Well, I'm still a beginner in crossfire, I made this method of changing the game memory by Find Pattern completely without Lag...
Code:
void Protect(void* dest, void* src, size_t size)
{
DWORD oProtect = NULL;
VirtualProtect(dest, size, PAGE_EXECUTE_READWRITE, &oProtect);
memcpy(dest, src, size);
VirtualProtect(dest, size, oProtect, NULL);
}
void Wallhacker(){
DWORD ADDR_WALLHACK,Scaning = 0;
do
{
Scaning = (DWORD)GetModuleHandleA(XorStr<0x6c,9,0x2cf9f37>("\x8\x5e\xa\x56\x5e\x15\x1e\x1f"+0x2cf9f37).s);
Sleep(10);
}
while(!Scaning);
ADDR_WALLHACK = FindPattern(Scaning,0x400000,(BYTE*)XorStr<0x6d,46,0x36a377>("\x6d\x2c\x57\x70\x41\x42\x73\x44\x45\x76\x47\x48\x79\x4a\x4b\x7c\x38\x46\x7f\xb0\xb1\x82\xb3\xb4\x85\xb6\xb7\x88\xb9\xba\x8b\xb4\xcf\x8e\xbf\xa6\x91\xaa\xd1\x94\xa0\xa6\x97\xa9\xa1"+0x36a377).s
,XorStr<0xd8,16,0xa26fd672>("\xa0\xe6\xe5\xe4\xe3\xa5\xe1\xe0\xdf\xde\x9a\x9b\x9c\x9d\x9e"+0xa26fd672).s);
ADDR_WALLHACK = *(DWORD*)(ADDR_WALLHACK + 0x1) + 0xA4;
if(ADDR_WALLHACK > 0)
{
Protect((PVOID)(ADDR_WALLHACK),(PBYTE)XorStr<0xaf,19,0x7be27ce3>("\xaf\x89\x81\xb2\x8a\x84\xb5\x8f\x87\xb8\x80\x8a\xbb\x85\x8d\xbe\x86\xf0"+0x7be27ce3).s,6);
}else
{
Protect((PVOID)(ADDR_WALLHACK),(PBYTE)XorStr<0x7b,19,0x46ad7aaf>("\x7b\x4c\x4c\x7e\x4f\xb1\x81\xb2\xb2\x84\xb5\xb7\x87\xb8\xb8\x8a\xbb\xbd"+0x46ad7aaf).s,6);
}
}
Credits:WalisonBR(Me)