Guest User

PointerHelper.h (pointer helper class external version)

a guest
Mar 18th, 2013
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.39 KB | None | 0 0
  1. #ifndef __PointerHelper_H
  2. #define __PointerHelper_H
  3.  
  4. //External Pointer Helper /w Uncodumented ReadProcessMemory calls
  5. //Written By Steve Andrew
  6. //Steve Andrew Software ;)
  7. #include <Windows.h>
  8. #include <stdio.h>
  9.  
  10. typedef ULONG (NTAPI *ZWREADVIRTUALMEMORY)(HANDLE, PVOID, PVOID, ULONG, PULONG);
  11.  
  12. class PointerOffset
  13. {
  14.     public:
  15.     unsigned long long Offset;
  16.     PointerOffset *NextOffset;
  17.  
  18.     PointerOffset();
  19.     ~PointerOffset();
  20. };
  21.  
  22. class GamePointer
  23. {
  24.     public:
  25.     ZWREADVIRTUALMEMORY ZwReadVirtualMemory;
  26.     HANDLE ProcessHandle;
  27.     char *Name;
  28.     void *BasePtr;
  29.     void *CurrentDynamicAddress;
  30.     PointerOffset *OffsetsList;
  31.     GamePointer *NextPointer;
  32.     unsigned long BytesWritten;
  33.     unsigned long BytesRead;
  34.  
  35.     GamePointer();
  36.     ~GamePointer();
  37.     void AddOffset(unsigned long long Offset);
  38.     unsigned long long ReadValue64(); //read a 64-bit value using all offsets
  39.     unsigned long long WriteValue64(unsigned long long ValueToWrite); //write a 64-bit value using all offsets
  40.     unsigned int ReadValue32(); //read a 32-bit value using all offsets
  41.     unsigned int WriteValue32(unsigned int ValueToWrite);//write a 32-bit value using all offsets
  42.     float ReadFloat();
  43.     float WriteFloat(float ValueToWrite);
  44.     double ReadDouble();
  45.     double WriteDouble(double ValueToWrite);
  46.     unsigned short ReadValue16(); //read a 16-bit value...
  47.     unsigned short WriteValue16(unsigned short ValueToWrite); //write 16-bit etc...
  48.     unsigned char ReadByteValue();
  49.     unsigned char WriteByteValue(unsigned char ValueToWrite);
  50.  
  51.     private:
  52.     unsigned long GetDynamicAddress();
  53. };
  54.  
  55. class PointerHelper
  56. {
  57.     public:
  58.     HANDLE ProcessHandle;
  59.     GamePointer *PointerList;
  60.  
  61.     PointerHelper();
  62.     ~PointerHelper();
  63.     void AddPointer(char *Name, void *BasePointer, ...);
  64.     GamePointer *GetPointerByName(char *Name);
  65.     unsigned long long ReadValue64(char *Name);
  66.     unsigned long long WriteValue64(char *Name, unsigned long long ValueToWrite);
  67.     unsigned int ReadValue32(char *Name);
  68.     unsigned int WriteValue32(char *Name, unsigned int ValueToWrite);
  69.     float ReadFloat(char *Name);
  70.     float WriteFloat(char *Name, float ValueToWrite);
  71.     double ReadDouble(char *Name);
  72.     double WriteDouble(char *Name, double ValueToWrite);
  73.     unsigned short ReadValue16(char *Name);
  74.     unsigned short WriteValue16(char *Name, unsigned short ValueToWrite);
  75.     unsigned char ReadByteValue(char *Name);
  76.     unsigned char WriteByteValue(char *Name, unsigned char ValueToWrite);
  77. };
  78.  
  79. #endif
Advertisement
Add Comment
Please, Sign In to add comment