MCPcopy Create free account
hub / github.com/NtQuery/Scylla / findPattern

Method findPattern

Scylla/ProcessAccessHelp.cpp:327–346  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

325}
326
327DWORD_PTR ProcessAccessHelp::findPattern(DWORD_PTR startOffset, DWORD size, BYTE * pattern, const char * mask)
328{
329 DWORD pos = 0;
330 size_t searchLen = strlen(mask) - 1;
331
332 for(DWORD_PTR retAddress = startOffset; retAddress < startOffset + size; retAddress++)
333 {
334 if( *(BYTE*)retAddress == pattern[pos] || mask[pos] == '?' )
335 {
336 if(mask[pos+1] == 0x00)
337 {
338 return (retAddress - searchLen);
339 }
340 pos++;
341 } else {
342 pos = 0;
343 }
344 }
345 return 0;
346}
347
348bool ProcessAccessHelp::readHeaderFromCurrentFile(const WCHAR * filePath)
349{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected