[ Fix ] Glow ESP - Poly version.
Works with latest csgo update 22 april
For the people who are wondering how to fix the glow ESP yourself here is what you do.
All you have to do is open the main.cpp and change the offsets.
you can find the new offsets anywhere because they will get posted very quickly after an CSGO update.
Well now lets do this :
Open your main.cpp and scroll down till you see :
Code:
offGlow = 0x000000;
offEntityList = 0x000000;
offLocalPlayer = 0x00000;
now change that with :
Code:
offGlow = 0x04afce94;
offEntityList = 0x49EC244;
offLocalPlayer = 0xA4A9BC;
Now select all files and extract them in a zip file.
open polyloader and do the magic.
for the lazy people just put this in your main.cpp
Code:
#include "Game.h"
#pragma region offsets
DWORD offLocalPlayer;
DWORD offEntityList;
const DWORD offEntityTeam = 0xF0;
DWORD offGlow;
#pragma endregion
#pragma region globalVars
PModule modClient;
PMemory mem;
#pragma endregion
[junk_enable /]
[enc_string_enable /]
#pragma region hotKeys
int whichKeyIsPressed() {
while (true) {
for (int i = 1; i < 255; i++) {
if (GetAsyncKeyState(i) & 0x8000) {
while (GetAsyncKeyState(i) & 0x8000) {
Sleep(50);
}
return i;
}
}
Sleep(10);
}
}
int keyGlowToggle;
#pragma endregion
void ReadData(Player* p) {
p->team = mem.Read<int>(p->dwBase + offEntityTeam);
}
int main() {
std::cout << "PolyHack V2.0 - Made by Merccy\n\n";
std::cout << "Waiting for csgo.exe...";
while (!mem.Attach("csgo.exe")) {
std::cout << ".";
Sleep(500);
}
modClient = mem.GetModule("client.dll");
std::cout << "\nFound\n\n";
std::cout << "Getting offsets...";
// Glow offset
//DWORD gpStart = mem.FindPatternArr(modClient.dwBase, modClient.dwSize, "xxxxxxxxxxxxxx????xxxxxxx", 25, 0x6B, 0xD6, 0x34, 0x89, 0x44, 0x0A, 0x30, 0x8D, 0x8F, 0xE4, 0x1B, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00);
//offGlow = mem.Read<DWORD>(gpStart + 14) - modClient.dwBase;
offGlow = 0x04AFCE94;
// Entity list
//DWORD elStart = mem.FindPatternArr(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);
//offEntityList = (elP1 + elP2) - modClient.dwBase;
offEntityList = 0x49EC244;
// Local player
//DWORD lpStart = mem.FindPatternArr(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);
//offLocalPlayer = (lpP1 + lpP2) - modClient.dwBase;
offLocalPlayer = 0xA4A9BC;
std::cout << "\nDone\n\n";
std::cout << "Hotkeys: \n";
std::cout << "Toggle glow: ";
keyGlowToggle = whichKeyIsPressed();
std::cout << keyGlowToggle << "\n";
std::cout << "\n";
bool glowEnabled = false;
Player me;
Player players[64];
while (!GetAsyncKeyState(VK_END)) {
if (GetAsyncKeyState(keyGlowToggle) & 0x8000) {
while (GetAsyncKeyState(keyGlowToggle) & 0x8000) {
Sleep(50);
}
glowEnabled = !glowEnabled;
std::cout << "Glow ESP is now ";
if (glowEnabled) {
std::cout << "enabled\n";
}
else {
std::cout << "disabled\n";
}
}
if (glowEnabled) {
me.dwBase = mem.Read<DWORD>(modClient.dwBase + offLocalPlayer);
ReadData(&me);
for (int i = 1; i < 64; i++) {
players[i].dwBase = mem.Read<DWORD>(modClient.dwBase + offEntityList + i * 0x10);
ReadData(&players[i]);
}
DWORD pointerGlow = mem.Read<DWORD>(modClient.dwBase + offGlow);
int objectCount = mem.Read<int>(modClient.dwBase + offGlow + 0x4);
if (pointerGlow != NULL) {
for (int i = 0; i < objectCount; i++) {
DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
GlowObjectDefinition_t glowObj = mem.Read<GlowObjectDefinition_t>(mObj);
if (glowObj.pEntity != NULL) {
int f_i = -1;
for (int j = 1; j < 64; j++) {
if (glowObj.pEntity == players[j].dwBase) {
int r = 255, g = 0, b = 0;
if (players[j].team == me.team) {
r = 0;
b = 255;
}
mem.Write<float>(mObj + 0x4, r / 255);
mem.Write<float>(mObj + 0x8, g / 255);
mem.Write<float>(mObj + 0xC, b / 255);
mem.Write<float>(mObj + 0x10, 1.0f);
mem.Write<BOOL>(mObj + 0x24, true);
mem.Write<BOOL>(mObj + 0x25, false);
}
}
}
}
}
}
}
return 0;
}
For people who keep on crashing try this :
http://www.mpgh.net/forum/showthread.php?t=947084
Added complete source.
Moderator Note:
credits :
Merccy2 - source
xtreempje321 - getting it back to work for latest update
22 april
Press Thanks if it helped.