[EXALT] Getting local player info
I'm not really experienced , but i think this could be useful to some people developing cheats.
In order to get player data from the exalt client, you should inject and read memory from the module GameAssemly.dll.
You can get the pointer path to localplayer adress via simple cheat-engine pointer scan or use these one , which seem to be reliable (but might change after updates and i won't keep track):
This points to localplayer , but in order to get some actual data just add these offsets:
Here's my code using memoryjs ( because im really used to nodejs )
Initialization , find the game and find module.
Get localplayer address
Example , first pointer from that list
To get player hp for example :
You need at least some experience to make a proper cheat, but for now enjoy and happy hacking!
Im still trying to figure a way to get game object list , but there are some issues , would be happy to hear any way to get them
Big thanks to @DIA4A for helpin in search of those offsets and providing some of his own
!
In order to get player data from the exalt client, you should inject and read memory from the module GameAssemly.dll.
You can get the pointer path to localplayer adress via simple cheat-engine pointer scan or use these one , which seem to be reliable (but might change after updates and i won't keep track):
Offsets
This points to localplayer , but in order to get some actual data just add these offsets:
Code:
0x150 player moving/shooting angle 0x154 player shooting angle 0x444 or 0x464 x coordinate 0x448 or 0x468 y coordinate 0x434 hp pots 0x438 mp pots 0x1C0 hp 0x1BC max hp 0x3FC xp 0x400 max xp 0x418 max mp 0x3C8 def 0x374 wis 0x22C acceleration 0x5C cameraRotation 0x364 attack 0x374 wisdom 0x3C8 defense 0x428 stars
Here's my code using memoryjs ( because im really used to nodejs )
Initialization , find the game and find module.
Code:
const memoryjs = require('memoryjs');
const processName = "RotMG Exalt.exe";
const process = memoryjs.openProcess(processName);
const clientModule = memoryjs.findModule("GameAssembly.dll", process.th32ProcessID);
Get localplayer address
Example , first pointer from that list
Code:
p1 = memoryjs.readMemory(memory.process.handle, memory.module.modBaseAddr+0x0323CFC0, pointer) //"GameAssembly.dll"+0323CFC0
p2 = memoryjs.readMemory(memory.process.handle, p1+0xB8, pointer) // +0xB8
p3 = memoryjs.readMemory(memory.process.handle, p2+0x0, pointer) // +0x0
p4 = memoryjs.readMemory(memory.process.handle, p3+0x90, pointer) // +0x90
playerAddress = memoryjs.readMemory(memory.process.handle, p4+0x240, pointer) // +0x240
In C++
DWORD64 m_nGameAssemblyModule = (DWORD64)GetModuleHandleA("GameAssembly.dll");
void* p1 = *(void**)(m_nGameAssemblyModule +0x0323CFC0);
void* p2 = *(void**)(DWORD64(p1) + 0xB8);
void* p3 = *(void**)(DWORD64(p2) + 0x0);
and so on ..
Code:
playerHealth = memoryjs.readMemory(memory.process.handle, playerAddress+0x1C0, int)
You need at least some experience to make a proper cheat, but for now enjoy and happy hacking!
Im still trying to figure a way to get game object list , but there are some issues , would be happy to hear any way to get them

Big thanks to @DIA4A for helpin in search of those offsets and providing some of his own
!
