BlackBone
Windows memory hacking library
 All Classes Functions
PatternSearch.h
1 #pragma once
2 
3 #include "../Include/Types.h"
4 
5 #include <string>
6 #include <vector>
7 #include <initializer_list>
8 
9 namespace blackbone
10 {
11 
13 {
14 public:
15  BLACKBONE_API PatternSearch( const std::vector<uint8_t>& pattern );
16  BLACKBONE_API PatternSearch( const std::initializer_list<uint8_t>&& pattern );
17  BLACKBONE_API PatternSearch( const std::string& pattern );
18  BLACKBONE_API PatternSearch( const char* pattern, size_t len = 0 );
19  BLACKBONE_API PatternSearch( const uint8_t* pattern, size_t len = 0 );
20 
21  BLACKBONE_API ~PatternSearch();
22 
33  BLACKBONE_API size_t Search( uint8_t wildcard, void* scanStart, size_t scanSize, std::vector<ptr_t>& out, ptr_t value_offset = 0 );
34 
44  BLACKBONE_API size_t Search( void* scanStart, size_t scanSize, std::vector<ptr_t>& out, ptr_t value_offset = 0 );
45 
55  BLACKBONE_API size_t SearchRemote( class Process& remote, uint8_t wildcard, ptr_t scanStart, size_t scanSize, std::vector<ptr_t>& out );
56 
65  BLACKBONE_API size_t SearchRemote( class Process& remote, ptr_t scanStart, size_t scanSize, std::vector<ptr_t>& out );
66 
75  BLACKBONE_API size_t SearchRemoteWhole( class Process& remote, bool useWildcard, uint8_t wildcard, std::vector<ptr_t>& out );
76 
77 private:
78  std::vector<uint8_t> _pattern; // Pattern to search
79 };
80 
81 }
Definition: PatternSearch.h:12
BLACKBONE_API size_t SearchRemoteWhole(class Process &remote, bool useWildcard, uint8_t wildcard, std::vector< ptr_t > &out)
Search pattern in whole address space of remote process
Definition: PatternSearch.cpp:177
BLACKBONE_API size_t SearchRemote(class Process &remote, uint8_t wildcard, ptr_t scanStart, size_t scanSize, std::vector< ptr_t > &out)
Search pattern in remote process
Definition: PatternSearch.cpp:135
Definition: Process.h:80
BLACKBONE_API size_t Search(uint8_t wildcard, void *scanStart, size_t scanSize, std::vector< ptr_t > &out, ptr_t value_offset=0)
Default pattern matching with wildcards. std::search is approximately 2x faster than naive approach...
Definition: PatternSearch.cpp:51
Definition: AsmHelper32.cpp:6