Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef __PointerHelper_H
- #define __PointerHelper_H
- //External Pointer Helper /w Uncodumented ReadProcessMemory calls
- //Written By Steve Andrew
- //Steve Andrew Software ;)
- #include <Windows.h>
- #include <stdio.h>
- typedef ULONG (NTAPI *ZWREADVIRTUALMEMORY)(HANDLE, PVOID, PVOID, ULONG, PULONG);
- class PointerOffset
- {
- public:
- unsigned long long Offset;
- PointerOffset *NextOffset;
- PointerOffset();
- ~PointerOffset();
- };
- class GamePointer
- {
- public:
- ZWREADVIRTUALMEMORY ZwReadVirtualMemory;
- HANDLE ProcessHandle;
- char *Name;
- void *BasePtr;
- void *CurrentDynamicAddress;
- PointerOffset *OffsetsList;
- GamePointer *NextPointer;
- unsigned long BytesWritten;
- unsigned long BytesRead;
- GamePointer();
- ~GamePointer();
- void AddOffset(unsigned long long Offset);
- unsigned long long ReadValue64(); //read a 64-bit value using all offsets
- unsigned long long WriteValue64(unsigned long long ValueToWrite); //write a 64-bit value using all offsets
- unsigned int ReadValue32(); //read a 32-bit value using all offsets
- unsigned int WriteValue32(unsigned int ValueToWrite);//write a 32-bit value using all offsets
- float ReadFloat();
- float WriteFloat(float ValueToWrite);
- double ReadDouble();
- double WriteDouble(double ValueToWrite);
- unsigned short ReadValue16(); //read a 16-bit value...
- unsigned short WriteValue16(unsigned short ValueToWrite); //write 16-bit etc...
- unsigned char ReadByteValue();
- unsigned char WriteByteValue(unsigned char ValueToWrite);
- private:
- unsigned long GetDynamicAddress();
- };
- class PointerHelper
- {
- public:
- HANDLE ProcessHandle;
- GamePointer *PointerList;
- PointerHelper();
- ~PointerHelper();
- void AddPointer(char *Name, void *BasePointer, ...);
- GamePointer *GetPointerByName(char *Name);
- unsigned long long ReadValue64(char *Name);
- unsigned long long WriteValue64(char *Name, unsigned long long ValueToWrite);
- unsigned int ReadValue32(char *Name);
- unsigned int WriteValue32(char *Name, unsigned int ValueToWrite);
- float ReadFloat(char *Name);
- float WriteFloat(char *Name, float ValueToWrite);
- double ReadDouble(char *Name);
- double WriteDouble(char *Name, double ValueToWrite);
- unsigned short ReadValue16(char *Name);
- unsigned short WriteValue16(char *Name, unsigned short ValueToWrite);
- unsigned char ReadByteValue(char *Name);
- unsigned char WriteByteValue(char *Name, unsigned char ValueToWrite);
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment