- Dec/Hex Converter
- Text/Binary Converter
- x86/x64 Disassembler (online)
- x86/x64 Disassembler (portable)
- DNZ Zone Lookup
- HTML Tag Checker
- HTTP Header Lookup
- IP Lookup
- Port Checker
- Download Calculator
- Engine Calculator
- Kinetic Energy Calculator
- Monitor Calculator (ms)
- Spenningsfall Kalkulator
- Bilder i Bilder
- Tekst i Bilder
ProcMemInterface.dll | Game Hacking Library
ProcMemInterface is a c/c++ library I created for making C# game hack clients.
Exportable functions to C#
- CreateCave(uintptr_t TargetPtr, SIZE_T AllocSize)
- WriteMem(bool AddBaseAddr, uintptr_t WriteAddr, unsigned char* WriteBuf, SIZE_T BufSize)
- ReadMem(bool AddBaseAddr, uintptr_t ReadAddr, unsigned char* ReadBuf, SIZE_T BufSize)
- PrepProcess(const wchar_t* ExeProcessFileName)
- AobScan(const unsigned char* Pattern, const char* Mask,
bool SKIP_MEM_MAPPED = true, SCAN_ONLY_EXECUTE_READ = true)
- GetModBaseAddr(const wchar_t* NameOfModule, bool EndAddrInsteadOfBaseAddr)
const unsigned char* ByteSearchPattern,
const char* ByteSearchMask,
unsigned char CaveBytes,
int ByteSearchJumpOffset, (Startindex=0, offset in AOB to insert jump)
Where the last one, SmartHook, is the heart and motivation of the project.
While the other functions are also exported and can be used for manual hooking.
Process handle and debug rights is automatically sorted by PrepProcess().
Multithreaded and optimized memory scanning added late April 2020.
Resulting in very fast AOB search results (w/mask), e.g. when initially turning hacks on.
Even in modern games (32 & 64-bit) with very large data allocations (4GB+ RAM usage).
Added 2 options in April 2022 to allow scanner to skip MEM_MAPPED areas and target only PAGE_EXECUTE_READ for even faster (instantaneous) results where applicable.
Todo: Add option for game DLL targeting, for games where it's even faster to target specific module memory. I do this in my C++ trainers where applicable, and should add an option for it in the library as well.
General InformationMade for C# GUI projects.
I called it "Smart" hooking because it does a few things automagically that saves me time and effort from having to redo jump and hook management manually every time I want to hack a game. It remembers addresses for jumps and caves as well as original bytes that was replaced in an internal register so it can turn hooks on/off easily.
It will automatically scan the entire game (and its modules) for AOB patterns and register these locations for instant use thereafter. It always reuses individual code caves. It automatically calculates near E9 jumps from/back between hooks and caves, and makes sure the jump is never more than 32-bit long, even in 64-bit processes (Code caves generated from CE may have multiple short 5-byte jumps, this means we would be risking the skew of byte count if replacing return jumps with 64-bit/near 12-14 byte jumps, unnecessarily complicating things. So it sticks strictly to 32-bit near jumps, with guaranteed integrity).
public static extern UIntPtr CreateCave(
public static extern UIntPtr AobScan(
public static extern bool WriteMem(
public static extern bool ReadMem(
public static extern bool PrepProcess(
public static extern UIntPtr GetModBaseAddr(
public static extern bool SmartHook(
Original Post: Apr 19th, '22 13:07 CEST.
Updated: Apr 19th, '22 14:39 CEST.
Tags: C/C++ C# PC Game Mods
© 2007-2022 | Tip Jar
Did you find anything of value to you on this site?