OldSchoolHack

Register / Login English

FindPattern() - by Gordon | Help !

icon Thread: FindPattern() - by Gordon | Help !

Join Date: Apr 2010

Posts: 168

Sorry!

CPP Code:
  1.  
  2. // FindPattern
  3. DWORD CDetour::FindPattern(DWORD dwAddress, DWORD dwSize, BYTE* pbSig, char* szMask)
  4. {
  5. for(DWORD i = NULL; i < dwSize; i++)
  6. {
  7. if(DataCompare((BYTE*)(dwAddress + i), pbSig, szMask ))
  8. return (DWORD)(dwAddress + i);
  9. }
  10. return 0;
  11. }
  12. BOOL CDetour::DataCompare(const BYTE* pData, const BYTE* bSig, const char* szMask )
  13. {
  14. for( ; *szMask; ++szMask, ++pData, ++bSig)
  15. {
  16. if( *szMask == 'x' && *pData != *bSig)
  17. return false;
  18. }
  19.  
  20. return ( *szMask ) == NULL;
  21. }
  22.  

CPP Code:
  1.  
  2. // Scan
  3. DWORD dwOffset = CDetour::FindPattern((DWORD)GetModuleHandle(L"pbcl.dll"), 0xFFFFFFF, (BYTE*)"\x6A\x00\x50\x50\x33\xF1\xFF\x55\xC8\x59\x40\x50\xFF\x75\x08", "xxxxxxxxxxxxxxx");
  4.  
  5. // Danach das übliche Hooken wie Detour von GD
  6.  


Fehler: Entweder das Game schliesst sich nach dem Injecten der Scan-DLL oder die FindPattern scant paar Adresse und dann ist schon wieder crash.


Mit Debugen der DLL bin ich nicht sehr weit gekommen. Kann es sein das meine Such-Range zu hoch ist?

0xFFFFFFF -> Heisst ja alles. Evlt. einschränken auf 0x1280000 ?

Oder mach ich mit der Mask etwas falsch?


Spiel: Crysis (32-Bit) / später auch 64-Bit
DirectX: 9
Spielversion: 1.2.1
Injector: Winject
Visual Studio 2010 Ultimate



__________________

mfg ZeRoKiLLeR

*Hax? Nur solange man mit Hack besser als ohne ist * :schaden:

Only registered and activated users can see links.

Let's Rock ! :schaden: