
12.01.2010, 18:55
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами:
10943066
Репутация:
1236
|
|
по паттерну например так
Код:
BOOL utilsCompareData(const BYTE* pData, const BYTE* bMask, const char* pszMask)
{
for(;*pszMask; ++pszMask, ++pData, ++bMask)
if(*pszMask == 'x' && *pData !=* bMask )
return FALSE;
return (*pszMask) == 0;
}
//////////////////////////////////////////////////////////////////////////
DWORD utilsFindPattern(DWORD dwAddress, DWORD dwLen, BYTE *bMask, char * pszMask)
{
for(DWORD i=0; i < dwLen; i++)
if(utilsCompareData((BYTE*)( dwAddress+i ), bMask, pszMask ))
return (DWORD)(dwAddress + i);
return 0;
}
dwDecode = utilsFindPattern( (DWORD)(pDosHdr)+pSecHdr->VirtualAddress, pSecHdr->SizeOfRawData,
(BYTE*)"\x51\x53\x55\x8B\x6C\x24\x10\x56\x8B\x74\x 24\x20\x57","xxxxxxxxxxxxx");
__________________
 
snow white world wide
|
|
|