A high-performance, lightweight, and accurate C++ tool designed to automatically detect and dump critical FiveM memory offsets by scanning for unique byte patterns in the running process.
Author:
@const
Language: C++17
Platform: Windows (x64)
Target: FiveM (all builds:_bXXXX, Subsurface, etc.)
- Fully automated – detects FiveM window, retrieves PID, opens process handle.
- Robust pattern scanning with wildcard support (
?/??). - RIP-relative address resolution (handles
lea rax, [rip + disp32]). - Smart pointer dereferencing for final static addresses.
- Build detection from executable name (e.g.,
FiveM_b3095.exe→ build3095). - Modular design – clean separation of memory, process, and utility logic.
| Name | Type | Dereferenced |
|---|---|---|
world |
CWorld* |
Yes |
replay_interface |
CReplayInterface* |
No |
viewport |
CViewport* |
Yes |
blip_list |
CBlipList* |
No |
camera |
CCamera* |
Yes |
bullet |
CBulletProof* |
Yes |
aim_cped |
CAimCPed* |
Yes |
set_ped_in_to_vehicle |
Function ptr | Yes |
c_sky_settings |
CSkySettings* |
Yes |
- Start FiveM (join any server or stay in menu)
- Run the
fivem_offset_dumper.exe
.\x64\Release\fivem_offset_dumper.exeOffsets are relative to module base (
FiveM_*.exe)
- Uses
VirtualQueryEx+ReadProcessMemory - Supports
??and?wildcards - Scans from module base to end of memory regions
lea rax, [rip + disp32]→ address = instruction + 7 + *(int32_t*)(instruction + 3)
- Only reads
MEM_COMMITregions - Skips
PAGE_GUARDpages - Proper handle cleanup
Edit the patterns array in main.cpp:
pattern_info patterns[] = {
{"new_offset", "48 8B 05 ? ? ? ? 48 89 41 08", true},
};Use tools like Cheat Engine, x64dbg, or ReClass to find new signatures.
This tool is for educational and reverse engineering purposes only.
- Do not use for cheating in online games.
- Respect Rockstar Games & FiveM ToS.
- Use only in private, offline, or authorized environments.
Made with precision for the modding community.
@const – 2025
Happy reversing!
