All Find pattern for CrossFire
By me:
Code:
DWORD WeaponMgr = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\x8B\x0D\xD0\xC3\xAA\x10" ,"xxxxxx"));
DWORD WepReload = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x98\xA4\x26\x00\x00" ,"xxxx??"));
DWORD WepSpread = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x9C\x39\xAC\x26\x00\x00","xxxxx??"));
DWORD WepChange = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x9A\xA8\x26\x00\x00" , "xxxx??"));
DWORD WepWeight = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x99\xCC\x0A\x00\x00" , "xxxx??"));
DWORD WepOverla = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x9C\xB9\x28\x24\x00\x00", "xxxxx??")); // FullZoom || ZoomAction || Half Zoom
DWORD PlayerBug = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xC6\x84\x24\xA4\x20\x00\x00", "xxxxx??")); // Damage Zone
DWORD PlayerCro = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x5C\x08\x0C" , "xxxx")); // Player Crouch Speed
DWORD KnifeSpd = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\xD9\x9C\xB9\x28\x0A\x00\x00", "xxxxx??")); // Knife Range
DWORD KnifeSped = (FindPattern((DWORD)GetModuleHandleA("CShell.dll"), 0xFFFFFF, (PBYTE)"\x8B\x94\x39\xB4\xF5\xFF\xFF", "xxxxxxx")); // Knife Damage
Now Find pattern Function:
Credits to d0m1n1c
Code:
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask)
return 0;
return (*szMask) == NULL;
}
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare((BYTE*)(dwAddress+i),bMask,szMask))
return (DWORD)(dwAddress+i);
return 0;
}