#pragma once #ifndef PATTERN_H #define PATTERN_H #define WIN32_LEAN_AND_MEAN #include #include class pattern { public: pattern(); ~pattern(); // Signature/pattern types enum { // normal: normal // read: read memory at pattern // subtract: subtract module base ST_NORMAL = 0x0, ST_READ = 0x1, ST_SUBTRACT = 0x2 }; bool search(HANDLE handle, std::vector regions, DWORD64 searchAddress, const char* pattern, short flags, uint32_t patternOffset, uintptr_t* pAddress); bool search(HANDLE handle, std::vector modules, DWORD64 searchAddress, const char* pattern, short flags, uint32_t patternOffset, uintptr_t* pAddress); bool findPattern(HANDLE handle, uintptr_t memoryBase, unsigned char* module, DWORD memorySize, const char* pattern, short flags, uint32_t patternOffset, uintptr_t* pAddress); bool compareBytes(const unsigned char* bytes, const char* pattern); }; #endif #pragma once