
Originally Posted by
Sandwich
1. Open the solution in Visual Studio
2. Locate and update the offsets
Code:
//3-7-19
ClientState = 0x58BCFC;
LocalPlayer = 0xCCB774;
EntityList = 0x4CDC19C;
GlowObjectManager = 0x521C388;
GlowIndex = 0xA3F8;
Team = 0xF4;
Health = 0x100;
Dormant = 0xED;
3. Press CRTL + SHIFT + B
4. Open the executable
5. Have fun
Updated LocalPlayer, EntityList, Team and Dormant. I assume now that i hardcoded the offsets into the code i could delete the whole offset class?
Code:
class offset
{
private:
static void update_local_player() {
DWORD lpStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "xxx????xx????xxxxx?", 19, 0x8D, 0x34, 0x85, 0x0, 0x0, 0x0, 0x0, 0x89, 0x15, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x41, 0x8, 0x8B, 0x48, 0x0);
DWORD lpP1 = mem->Read<DWORD>(lpStart + 3);
BYTE lpP2 = mem->Read<BYTE>(lpStart + 18);
dwLocalPlayer = (lpP1 + lpP2) - modClient.dwBase;
}
static void update_entity_list() {
DWORD elStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "x????xx?xxx", 11, 0x5, 0x0, 0x0, 0x0, 0x0, 0xC1, 0xE9, 0x0, 0x39, 0x48, 0x4);
DWORD elP1 = mem->Read<DWORD>(elStart + 1);
BYTE elP2 = mem->Read<BYTE>(elStart + 7);
dwEntityList = (elP1 + elP2) - modClient.dwBase;
}
static void update_glow() {
DWORD gpStart = mem->FindPatternArray(modClient.dwBase, modClient.dwSize, "xxx????xxxxx????????", 20, 0x0F, 0x11, 0x05, 0x0, 0x0, 0x0, 0x0, 0x83, 0xC8, 0x01, 0xC7, 0x05, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0);
dwGlow = mem->Read<DWORD>(gpStart + 3) - modClient.dwBase;
}
public:
static void get_offset(process* m) {
mem = m;
modClient = mem->GetModule("client.dll");
update_local_player();
update_entity_list();
update_glow();
}
//constantly scanning & updating our offsets
static DWORD WINAPI scan_offsets(LPVOID PARAM)
{
Entity players[64];
while (true) {
Sleep(1);
DWORD playerBase = memory.Read<DWORD>(GetClientModule()->dwBase + dwLocalPlayer);
int cp = 0;
update_entity_data(&me, playerBase);
for (int i = 1; i < 64; i++) {
DWORD entBase = memory.Read<DWORD>((GetClientModule()->dwBase + dwEntityList) + i * 0x10);
if (entBase == NULL)
continue;
update_entity_data(&players[cp], entBase);
cp++;
}
int cf = 0, ce = 0;
for (int i = 0; i < cp; i++) {
if (players[i].team == me.team) {
entFriendlies[cf] = players[i];
cf++;
}
else {
entEnemies[ce] = players[i];
ce++;
}
}
iEnemies = ce;
iFriendlies = cf;
}
}
};
Second question: where do i find the clientstate offset in this code as well as the GlowIndex? As a beginner i can't quite see it.
EDIT:
Offsets were outdated aswell as i just recognized LOL
I had to get new offsets with hazedumper and hardcoded them into the source.
Also: client.dll has to be replaced with client_panorama.dll.
Its working now!

(in -insecure mode though).
EDIT2:
Was able to play on Valve DM Servers without an instant ban.