Pattern for help you access remote process virtual memory or file data using pointer-like syntax.
You just need to realize IIOManager interface (here is example):
class IIOManager {
public:
virtual ~IIOManager() = default;
virtual bool read(uintptr_t addr, size_t size, void* data) = 0;
virtual bool write(uintptr_t addr, size_t size, void* data) = 0;
};
First you need to set instance of IIOManager:
// static pointer to IIOManager inherited class instance for ALL remote_ptrs
remote_ptr_base::set_io_manager(pIIOManagerInstance);
remote_ptr<int> remotePointer(address);
int value = *remotePointer; // read value
*remotePointer = value; // write value
On error it will throw read_error or write_error. Both inherited from access_error.
In this repo you can find example application source (simple CS:GO radar hack). Welcome to my UC profile.