Join Date: Aug 2008
Posts: 2594
User-Rating:
|
Nimm doch einfach die FindPattern function, wirst du danach eh brauchen.
FindPattern by Gorden:
CPP Code: bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) if(*szMask=='x' && *pData!=*bMask ) return false; return (*szMask) == NULL; } DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i < dwLen; i++) if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) return (DWORD)(dwAddress+i); return 0; }
Und so benutzt du das:
CPP Code: HMODULE hModule = NULL; while(!hModule) { hModule = GetModuleHandleA("d3d9.dll"); Sleep(100); } DWORD* VTableStart = 0; DWORD FoundByGordon = dwFindPattern((DWORD)hModule, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx"); memcpy(&VTableStart, (void*)(FoundByGordon+2), 4); dwDrawIndexedPrimitive = (DWORD)VTableStart[82]; // für mehr: blick in die d3d9.h werfen! dwEndScene = (DWORD)VTableStart[42];
Steht doch in dem Tutorial.
__________________
Meine Lesezeichen
|