Addy Logger wrong logged!
Hi guy's,
I've got a question & maybe some help and request
I've been working with my Addy Logger for crossfire but i think my patterns are outdated
.
So i've come here seeking for help if anyone willing to help me with my project
.
So here's the result:
Then the pattern i've used: (Please update it if they are outdated)
The find pattern source:
Thank-you all in advance 
I've got a question & maybe some help and request

I've been working with my Addy Logger for crossfire but i think my patterns are outdated
.So i've come here seeking for help if anyone willing to help me with my project
.So here's the result:
Code:
//============== Crossfire PH Addy Logger ==============\ //=================== RomelUrot ===================\ //<================ Addressed Logged ==============>\ #define weaponMgr 0x30090 #define aLTClientShell 0x30090 #define dwCPlayerStart 0x300 #define MEOffset 0x300 #define dwCPlayerSize 0x30090 #define aLTModel 0x30090 #define aCLTPlayerClient 0x300905A #define oCLTPlayerClient 0xB540000 #define aILTClient 0x30090 #define BagMgr 0x30090 #define PTCOffset 0x30090 #define DamagePerMeter 0x300905A #define WallArray 0xFFFF0000 #define FireWeaponAddress 0xB540000 #define ModelNode 0x30090 #define aIntersectSegment 0x400000 //<================= End of Logged ================>\
Then the pattern i've used: (Please update it if they are outdated)

Code:
DWORD aIntersectSegment = FindPattern((DWORD)GetModuleHandle("Crossfire.exe"), 0xFFFFFF, (PBYTE)"\x5D\xC3\xCC\x55\x8B\xEC\x8B\x45\x0C\x50\x8B\x4D\x08\x51\x8B\x15\x00\x00\x00\x00","0000000000000000????");
DWORD weaponMgr = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8B\x04\xB1\xD9\xE8", "00????00000");
weaponMgr = *(DWORD*)(weaponMgr + 0x2);
DWORD aLTClientShell = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x50\x8D\x44\x24\x10\x50\x81\xC1\x00\x00\x00\x00","00????00000000????");
aLTClientShell = *(DWORD*)(aLTClientShell + 0x2);
DWORD dwCPlayerStart = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x0F\xB6\x8E\x00\x00\x00\x00\x69\xC9\x00\x00\x00\x00\x8A\x84\x31\x00\x00\x00\x00\x5E\xC3","000????00????000????00");
dwCPlayerStart = *(DWORD*)(dwCPlayerStart + 0x3);
DWORD MEOffset = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x8A\x84\x31\x00\x00\x00\x00\x5E\xC3","000????00");
MEOffset = *(DWORD*)(MEOffset + 0x3);
DWORD dwCPlayerSize = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x69\xC9\x00\x00\x00\x00\x8A\x84\x31\x00\x00\x00\x00\x5E\xC3","00????000????00");
dwCPlayerSize = *(DWORD*)(dwCPlayerSize + 0x2);
DWORD aLTModel = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8B\x44\x24\x0C\x8B\x11","00????000000");
aLTModel = *(DWORD*)(aLTModel + 0x2);
DWORD aCLTPlayerClient = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x6A\x04\x68\x00\x00\x00\x00","0????0????0????0????000000000000000????");
aCLTPlayerClient = *(DWORD*)(aCLTPlayerClient + 0x1);
DWORD oCLTPlayerClient = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x39\x55\x00\x74\x00\x8B\x4D\x00\x8B\x01\x8B\x90\x00\x00\x00\x00\xFF\xD2","00?0?00?0000????00");
DWORD aILTClient = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8B\x11\x8B\x82\x00\x00\x00\x00","00????0000????");
aILTClient = *(DWORD*)(aILTClient + 0x2);
DWORD BagMgr = FindPattern(CShell, 0xFFFFFF,(PBYTE)"\x89\x3D\x00\x00\x00\x00\x68\x00\x00\x00\x00", "00????0????");
BagMgr = *(DWORD*)(BagMgr + 0x2);
DWORD PTCOffset = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x8B\x88\x00\x00\x00\x00\x68\x00\x00\x00\x00\xFF\xD1\x8B\x0D\x00\x00\x00\x00\x8B\x11\x8B\x82\x00\x00\x00\x00","00????0????0000????0000????");
PTCOffset = *(DWORD*)(PTCOffset + 0x2);
DWORD DamagePerMeter = FindPattern(CShell,0xFFFFFF,(PBYTE)"\xA1\x00\x00\x00\x00\xD9\x58\x00\x83\xC4\x00","0????00?00?");
DamagePerMeter = *(DWORD*)(DamagePerMeter + 0x1);
DWORD WallArray = FindPattern(0x400000, 0xFFFFFF,(PBYTE)"\x75\x00\x83\x0D\x00\x00\x00\x00\x01\xB8\x00\x00\x00\x00\xE8","0?00????00????0");
WallArray = *(DWORD*)(WallArray + 0xA);
DWORD FireWeaponAddress = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x83\xEC\x20\x56\x8B\xF1\x8B\x0D\x00\x00\x00\x00\x8B\x01\x8B\x40\x0C\x52\x56\xFF\xD0\x84\xC0","00000000????00000000000");
DWORD ModelNode = FindPattern(CShell,0xFFFFFF,(PBYTE)"\x8B\x0D\x00\x00\x00\x00\x83\xC4\x04\x89\x44\x0F\x54\x8B\x15\x00\x00\x00\x00\x8B\x04\x17\x3B\xC3\x7C\x0C\x83\xF8\x64\x7D\x07","00????000000000????000000000000");
ModelNode = *(DWORD*)(ModelNode + 0x2);
The find pattern source:
Code:
DWORD dwSize;
DWORD dwStartAddress;
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(BYTE *bMask, char * szMask, int codeOffset, BOOL extract)
{
for(DWORD i = 0; i < dwSize; i++)
{
if(bCompare((BYTE*)(dwStartAddress + i),bMask,szMask))
{
if(extract)
{
return *(DWORD*)(dwStartAddress + i + codeOffset);
}
else
{
return (DWORD)(dwStartAddress + i + codeOffset);
}
}
}
return NULL;
}
