BlackBone
Windows memory hacking library
 All Classes Functions
blackbone::PatternSearch Class Reference

Public Member Functions

BLACKBONE_API PatternSearch (const std::vector< uint8_t > &pattern)
 
BLACKBONE_API PatternSearch (const std::string &pattern)
 
BLACKBONE_API PatternSearch (const char *pattern, size_t len=0)
 
BLACKBONE_API PatternSearch (const uint8_t *pattern, size_t len=0)
 
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. More...
 
BLACKBONE_API size_t Search (void *scanStart, size_t scanSize, std::vector< ptr_t > &out, ptr_t value_offset=0)
 Full pattern match, no wildcards. Uses Boyer–Moore–Horspool algorithm. More...
 
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 More...
 
BLACKBONE_API size_t SearchRemote (class Process &remote, ptr_t scanStart, size_t scanSize, std::vector< ptr_t > &out)
 Search pattern in remote process More...
 
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 More...
 

Member Function Documentation

size_t blackbone::PatternSearch::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.

Parameters
wildcardPattern wildcard
scanStartStarting address
scanSizeSize of region to scan
outFound results
value_offsetValue that will be added to resulting addresses
Returns
Number of found addresses
size_t blackbone::PatternSearch::Search ( void *  scanStart,
size_t  scanSize,
std::vector< ptr_t > &  out,
ptr_t  value_offset = 0 
)

Full pattern match, no wildcards. Uses Boyer–Moore–Horspool algorithm.

Parameters
scanStartStarting address
scanSizeSize of region to scan
outFound results
value_offsetValue that will be added to resulting addresses
Returns
Number of found addresses
size_t blackbone::PatternSearch::SearchRemote ( class Process remote,
uint8_t  wildcard,
ptr_t  scanStart,
size_t  scanSize,
std::vector< ptr_t > &  out 
)

Search pattern in remote process

Parameters
remoteRemote process
wildcardPattern wildcard
scanStartStarting address
scanSizeSize of region to scan
outFound results
Returns
Number of found addresses
size_t blackbone::PatternSearch::SearchRemote ( class Process remote,
ptr_t  scanStart,
size_t  scanSize,
std::vector< ptr_t > &  out 
)

Search pattern in remote process

Parameters
remoteRemote process
scanStartStarting address
scanSizeSize of region to scan
outFound results
Returns
Number of found addresses
size_t blackbone::PatternSearch::SearchRemoteWhole ( class Process remote,
bool  useWildcard,
uint8_t  wildcard,
std::vector< ptr_t > &  out 
)

Search pattern in whole address space of remote process

Parameters
remoteRemote process
useWildcardTrue if pattern contains wildcards
wildcardPattern wildcard
outFound results
Returns
Number of found addresses

The documentation for this class was generated from the following files: