MCPcopy Create free account
hub / github.com/Astronaut00/DoubleDataPointer / FindPattern

Function FindPattern

Driver/util.cpp:11–32  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9 }
10
11 PBYTE FindPattern(PVOID module, DWORD size, LPCSTR pattern, LPCSTR mask) {
12
13 auto checkMask = [](PBYTE buffer, LPCSTR pattern, LPCSTR mask) -> BOOL
14 {
15 for (auto x = buffer; *mask; pattern++, mask++, x++) {
16 auto addr = *(BYTE*)(pattern);
17 if (addr != *x && *mask != '?')
18 return FALSE;
19 }
20
21 return TRUE;
22 };
23
24 for (auto x = 0; x < size - strlen(mask); x++) {
25
26 auto addr = (PBYTE)module + x;
27 if (checkMask(addr, pattern, mask))
28 return addr;
29 }
30
31 return NULL;
32 }
33
34 PBYTE FindPattern(PVOID base, LPCSTR pattern, LPCSTR mask) {
35

Callers 2

DriverEntryFunction · 0.85
FindBigPoolTableFunction · 0.85

Calls 1

getHeaderFunction · 0.85

Tested by

no test coverage detected