Detected[PolyHack] Bluehack Remastered v1.1

Posts 121–135 of 154 · Page 9 of 11
could someone just post the updated offsets please? would be much easier to edit manually than waiting for approve over and over again.
Quote Originally Posted by KeitaroNSR View Post
I'm fixing it and I will release after its done. Currently fixing aimbot still crashing and having memory leaks. Just relax.

moderator deleted your thread or what happened ? yesterday it was here but now its not here .... update it please atleast radar
Quote Originally Posted by Pedex2014 View Post
moderator deleted your thread or what happened ? yesterday it was here but now its not here .... update it please atleast radar
Mods deleted it
Quote Originally Posted by KeitaroNSR View Post
Mods deleted it
thanks for info, how can i get it ?

- - - Updated - - -

Quote Originally Posted by KeitaroNSR View Post
Mods deleted it
or just do step by step tutorial how to update offsets please
Here now just replace in the zip file following file: "main.cpp" with following code:

Code:
#include "Game.h"

PModule modEngine, modClient;
PMemory mem;
HANDLE TargetProcess;
DWORD DwClient;
DWORD DwEngine;

DWORD DwEntityList = 0x049EC244; // Updated
DWORD DwEnginePointer = 0x00559434; // Updated
DWORD DwLocalPlayer = 0x00A4A9BC; // Updated
DWORD DwViewAngle = 0x4CE0; // Updated
DWORD dwSpotted = 0x935; // Updated

DWORD offLocalPlayer;
DWORD offEntityList;
DWORD offGlow;

const DWORD DwCrosshairId = 0x2400;
const DWORD DwVecViewOrigin = 0x104;
const DWORD DwVecOrigin = 0x134;
const DWORD DwVecPunch = 0x13E8;
const DWORD DwTeamNumber = 0xF0;
const DWORD DwShotsFired = 0x1D60;
const DWORD DwFlags = 0x100;
const DWORD DwBoneMatrix = 0xA78;
const DWORD DwEntitySize = 0x10;
const DWORD DwHealth = 0xFC;
const DWORD DwLifeState = 0x25B;
const DWORD DwVecVelocity = 0x110;
const DWORD offEntityTeam = 0xF0;

float PitchMinPunch = 2.f;
float PitchMaxPunch = 2.f;
float YawMinPunch = 2.f;
float YawMaxPunch = 2.f;
float smoothamount = 20.f;
int TargetBone = 10;

bool glowEnabled = true;
bool aimEnabled = true;
bool radarEnabled = true;

DWORD TrigVkeyCode;
DWORD ForceAimVkeyCode;
DWORD AutoAimVkeyCode;
DWORD ESPVkeyCode;
DWORD PanicVkeyCode;
DWORD RadarVkeyCode;
DWORD AimVkeyCode;
DWORD NewAimVkeyCode = 1;

[junk_enable /]
[enc_string_enable /]

struct
{
	DWORD GetBaseEntity(int PlayerNumber)
	{
		return mem.Read<DWORD>(DwClient + DwEntityList + (DwEntitySize * PlayerNumber));
	}

	bool IsDead(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<bool>(BaseEntity + DwLifeState);
		}
	}

	int GetTeam(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<int>(BaseEntity + DwTeamNumber);
		}
	}

	void GetVelocity(int PlayerNumber, float* Buffer)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			mem.Read<float*>(BaseEntity + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetBonePosition(int PlayerNumber, float* BonePosition)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			DWORD BoneMatrix = mem.Read<DWORD>(BaseEntity + DwBoneMatrix);
			if (BoneMatrix)
			{
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x0C, true, 1, &BonePosition[0]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x1C, true, 1, &BonePosition[1]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x2C, true, 1, &BonePosition[2]);
			}
		}
	}

}EntityList;

struct
{

	DWORD GetPlayerBase()
	{
		return mem.Read<DWORD>(DwClient + DwLocalPlayer);
	}

	void SetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Write<float*>(AnglePointer + DwViewAngle, Angles, true, 3);
		}
	}

	void GetVelocity(float* Buffer)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Read<float*>(AnglePointer + DwViewAngle, true, 3, Angles);
		}
	}

	int GetTeam()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwTeamNumber);
		}
	}

	int GetCrosshairId()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwCrosshairId) - 1;
		}
	}

	void GetPunch(float* Punch)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecPunch, true, 2, Punch);
		}
	}

	float GetViewOrigin()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			float Vecview[3];
			mem.Read<float*>(PlayerBase + DwVecViewOrigin, true, 3, Vecview);
			return Vecview[2];
		}
	}

	void GetPosition(float* Position)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecOrigin, true, 3, Position);
		}
	}

	int GetShotsFired()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwShotsFired);
		}
	}

}NewPlayer;



void AngleNormalize(float* angle)
{
	if (angle[0] > 89.0f && angle[0] <= 180.0f)
	{
		angle[0] = 89.0f;
	}
	if (angle[0] > 180.f)
	{
		angle[0] -= 360.f;
	}
	if (angle[0] < -89.0f)
	{
		angle[0] = -89.0f;
	}
	if (angle[1] > 180.f)
	{
		angle[1] -= 360.f;
	}
	if (angle[1] < -180.f)
	{
		angle[1] += 360.f;
	}
	if (angle[2] != 0.0f)
	{
		angle[2] = 0.0f;
	}
}

void calcang(float *src, float *dst, float *angles)
{
	random_device Random;
	mt19937 RandomGen(Random());
	uniform_real<float> RandomXdistrib(PitchMinPunch, PitchMaxPunch);
	uniform_real<float> RandomYdistrib(YawMinPunch, YawMaxPunch);
	float MyPunch[2];
	NewPlayer.GetPunch(MyPunch);
	float pitchreduction = RandomXdistrib(RandomGen);
	float yawreduction = RandomYdistrib(RandomGen);
	float delta[3] = { (src[0] - dst[0]), (src[1] - dst[1]), ((src[2] + NewPlayer.GetViewOrigin()) - dst[2]) };
	float hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
	angles[0] = atanf(delta[2] / hyp) * 57.295779513082f - MyPunch[0] * pitchreduction;
	angles[1] = atanf(delta[1] / delta[0]) * 57.295779513082f - MyPunch[1] * yawreduction;
	angles[2] = 0.0f;
	if (delta[0] >= 0.0)
	{
		angles[1] += 180.0f;
	}
}

void SmoothAngleSet(float* dest, float* orig)
{
	float SmoothAngles[3];
	SmoothAngles[0] = dest[0] - orig[0];
	SmoothAngles[1] = dest[1] - orig[1];
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	SmoothAngles[0] = orig[0] + SmoothAngles[0] / 100.0f * smoothamount;
	SmoothAngles[1] = orig[1] + SmoothAngles[1] / 100.0f * smoothamount;
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	NewPlayer.SetAngles(SmoothAngles);
	Sleep(1);
}

void Click()
{
	mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
	Sleep(1);
	mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
	Sleep(30);
}

void VelocityComp(int PlayerNumber, float* EnemyPos)
{
	float EnemyVelocity[3];
	float MyVelocity[3];
	EntityList.GetVelocity(PlayerNumber, EnemyVelocity);
	NewPlayer.GetVelocity(MyVelocity);
	EnemyPos[0] = EnemyPos[0] + (EnemyVelocity[0] / 100.f) * (40.f / smoothamount); 
	EnemyPos[1] = EnemyPos[1] + (EnemyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] + (EnemyVelocity[2] / 100.f) * (40.f / smoothamount);
	EnemyPos[0] = EnemyPos[0] - (MyVelocity[0] / 100.f) * (40.f / smoothamount);
	EnemyPos[1] = EnemyPos[1] - (MyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] - (MyVelocity[2] / 100.f) * (40.f / smoothamount);
}



DWORD WINAPI AB(LPVOID params)
{
	cout << "Aimbot thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
		
		if (aimEnabled)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
				
			while (GetAsyncKeyState(NewAimVkeyCode) < 0 && NewPlayer.GetShotsFired() > 1 &&  PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}

			while (GetAsyncKeyState(ForceAimVkeyCode) < 0 && PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}
			
		}		
	}
}


DWORD WINAPI TB(LPVOID params)
{
	cout << "Trigger thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
	
		if (GetAsyncKeyState(TrigVkeyCode) < 0 && TrigVkeyCode != 1)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
			if (PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				Click();
			}
			else
			{
				Sleep(1);
			}
		}	
		
	}
}

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);
	}
}



void ReadData(Player* p) {
	p->team = mem.Read<int>(p->dwBase + offEntityTeam);
}

int main() {
	std::cout << "Bluehack - ESP & Aimbot\n\n";
	std::cout << "Waiting for csgo.exe...";
	while (!mem.Attach("csgo.exe")) {
		std::cout << ".";
		Sleep(500);
	}
	modClient = mem.GetModule("client.dll");
	DwClient = modClient.dwBase;

	modEngine = mem.GetModule("engine.dll");
	DwEngine = modEngine.dwBase;
	std::cout << "\nFound\n\n";

	std::cout << "Getting offsets...";

	offGlow = 0x04AFCE94;
	offEntityList = 0x049EC244;
	offLocalPlayer = 0x00A4A9bC;
	
	Sleep(30);

	std::cout << "\nDone\n\n";

	std::cout << "Hotkeys: \n";
	
	
	std::cout << "Toggle ESP: ";
	ESPVkeyCode = whichKeyIsPressed();
	std::cout << ESPVkeyCode << "\n";
	
	std::cout << "Toggle Aimbot: ";
	AimVkeyCode = whichKeyIsPressed();
	std::cout << AimVkeyCode << "\n";
	
	std::cout << "Force Aim: ";
	ForceAimVkeyCode = whichKeyIsPressed();
	std::cout << ForceAimVkeyCode << "\n";
	
	std::cout << "Trigger Fire: ";
	TrigVkeyCode = whichKeyIsPressed();
	std::cout << TrigVkeyCode << "\n";
	
	std::cout << "Radar Code: ";
	RadarVkeyCode = whichKeyIsPressed();
	std::cout << RadarVkeyCode << "\n";
	
	std::cout << "Panic Key: ";
	PanicVkeyCode = whichKeyIsPressed();
	std::cout << PanicVkeyCode << "\n";
	
	
	std::cout << "\n";

	CreateThread(0, 0x1000, &AB, 0, 0, 0);
	CreateThread(0, 0x1001, &TB, 0, 0, 0);
	
	Player me;
	Player players[64];

	while (!GetAsyncKeyState(PanicVkeyCode)) {
		
		if (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
				Sleep(50);
			}
			glowEnabled = !glowEnabled;
			std::cout << "Glow ESP is now ";
			if (glowEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}

		if (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
				Sleep(50);
			}
			aimEnabled = !aimEnabled;
			std::cout << "Aimbot is now ";
			if (aimEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
	
		if (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
				Sleep(50);
			}
			radarEnabled = !radarEnabled;
			std::cout << "Radar is now ";
			if (radarEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
		
		if (glowEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);

			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					

					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<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.WriteNew<float>(mObj + 0x4, r / 255);
								mem.WriteNew<float>(mObj + 0x8, g / 255);
								mem.WriteNew<float>(mObj + 0xC, b / 255);
								mem.WriteNew<float>(mObj + 0x10, 1.0f);
								mem.WriteNew<bool>(mObj + 0x24, true);
								mem.WriteNew<bool>(mObj + 0x25, false);
							}
						}
					}
				// Entity found	
				}
			}
		}
		
		if (radarEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);
			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					
					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<GlowObjectDefinition_t>(mObj);
					
					if (glowObj.pEntity != NULL) {
						int f_i = -1;
						for (int j = 1; j < 64; j++) {
							if (glowObj.pEntity == players[j].dwBase) {
								if (players[j].team != me.team) {
									mem.WriteNew<int>(players[j].dwBase + dwSpotted, 1);
								}
							}
						}
					}
				}
			}
		}
		
	}

	return 0;
}
Quote Originally Posted by infslash View Post
Here now just replace in the zip file following file: "main.cpp" with following code:

Code:
#include "Game.h"

PModule modEngine, modClient;
PMemory mem;
HANDLE TargetProcess;
DWORD DwClient;
DWORD DwEngine;

DWORD DwEntityList = 0x049EC244; // Updated
DWORD DwEnginePointer = 0x00559434; // Updated
DWORD DwLocalPlayer = 0x00A4A9BC; // Updated
DWORD DwViewAngle = 0x4CE0; // Updated
DWORD dwSpotted = 0x935; // Updated

DWORD offLocalPlayer;
DWORD offEntityList;
DWORD offGlow;

const DWORD DwCrosshairId = 0x2400;
const DWORD DwVecViewOrigin = 0x104;
const DWORD DwVecOrigin = 0x134;
const DWORD DwVecPunch = 0x13E8;
const DWORD DwTeamNumber = 0xF0;
const DWORD DwShotsFired = 0x1D60;
const DWORD DwFlags = 0x100;
const DWORD DwBoneMatrix = 0xA78;
const DWORD DwEntitySize = 0x10;
const DWORD DwHealth = 0xFC;
const DWORD DwLifeState = 0x25B;
const DWORD DwVecVelocity = 0x110;
const DWORD offEntityTeam = 0xF0;

float PitchMinPunch = 2.f;
float PitchMaxPunch = 2.f;
float YawMinPunch = 2.f;
float YawMaxPunch = 2.f;
float smoothamount = 20.f;
int TargetBone = 10;

bool glowEnabled = true;
bool aimEnabled = true;
bool radarEnabled = true;

DWORD TrigVkeyCode;
DWORD ForceAimVkeyCode;
DWORD AutoAimVkeyCode;
DWORD ESPVkeyCode;
DWORD PanicVkeyCode;
DWORD RadarVkeyCode;
DWORD AimVkeyCode;
DWORD NewAimVkeyCode = 1;

[junk_enable /]
[enc_string_enable /]

struct
{
	DWORD GetBaseEntity(int PlayerNumber)
	{
		return mem.Read<DWORD>(DwClient + DwEntityList + (DwEntitySize * PlayerNumber));
	}

	bool IsDead(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<bool>(BaseEntity + DwLifeState);
		}
	}

	int GetTeam(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<int>(BaseEntity + DwTeamNumber);
		}
	}

	void GetVelocity(int PlayerNumber, float* Buffer)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			mem.Read<float*>(BaseEntity + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetBonePosition(int PlayerNumber, float* BonePosition)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			DWORD BoneMatrix = mem.Read<DWORD>(BaseEntity + DwBoneMatrix);
			if (BoneMatrix)
			{
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x0C, true, 1, &BonePosition[0]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x1C, true, 1, &BonePosition[1]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x2C, true, 1, &BonePosition[2]);
			}
		}
	}

}EntityList;

struct
{

	DWORD GetPlayerBase()
	{
		return mem.Read<DWORD>(DwClient + DwLocalPlayer);
	}

	void SetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Write<float*>(AnglePointer + DwViewAngle, Angles, true, 3);
		}
	}

	void GetVelocity(float* Buffer)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Read<float*>(AnglePointer + DwViewAngle, true, 3, Angles);
		}
	}

	int GetTeam()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwTeamNumber);
		}
	}

	int GetCrosshairId()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwCrosshairId) - 1;
		}
	}

	void GetPunch(float* Punch)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecPunch, true, 2, Punch);
		}
	}

	float GetViewOrigin()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			float Vecview[3];
			mem.Read<float*>(PlayerBase + DwVecViewOrigin, true, 3, Vecview);
			return Vecview[2];
		}
	}

	void GetPosition(float* Position)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecOrigin, true, 3, Position);
		}
	}

	int GetShotsFired()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwShotsFired);
		}
	}

}NewPlayer;



void AngleNormalize(float* angle)
{
	if (angle[0] > 89.0f && angle[0] <= 180.0f)
	{
		angle[0] = 89.0f;
	}
	if (angle[0] > 180.f)
	{
		angle[0] -= 360.f;
	}
	if (angle[0] < -89.0f)
	{
		angle[0] = -89.0f;
	}
	if (angle[1] > 180.f)
	{
		angle[1] -= 360.f;
	}
	if (angle[1] < -180.f)
	{
		angle[1] += 360.f;
	}
	if (angle[2] != 0.0f)
	{
		angle[2] = 0.0f;
	}
}

void calcang(float *src, float *dst, float *angles)
{
	random_device Random;
	mt19937 RandomGen(Random());
	uniform_real<float> RandomXdistrib(PitchMinPunch, PitchMaxPunch);
	uniform_real<float> RandomYdistrib(YawMinPunch, YawMaxPunch);
	float MyPunch[2];
	NewPlayer.GetPunch(MyPunch);
	float pitchreduction = RandomXdistrib(RandomGen);
	float yawreduction = RandomYdistrib(RandomGen);
	float delta[3] = { (src[0] - dst[0]), (src[1] - dst[1]), ((src[2] + NewPlayer.GetViewOrigin()) - dst[2]) };
	float hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
	angles[0] = atanf(delta[2] / hyp) * 57.295779513082f - MyPunch[0] * pitchreduction;
	angles[1] = atanf(delta[1] / delta[0]) * 57.295779513082f - MyPunch[1] * yawreduction;
	angles[2] = 0.0f;
	if (delta[0] >= 0.0)
	{
		angles[1] += 180.0f;
	}
}

void SmoothAngleSet(float* dest, float* orig)
{
	float SmoothAngles[3];
	SmoothAngles[0] = dest[0] - orig[0];
	SmoothAngles[1] = dest[1] - orig[1];
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	SmoothAngles[0] = orig[0] + SmoothAngles[0] / 100.0f * smoothamount;
	SmoothAngles[1] = orig[1] + SmoothAngles[1] / 100.0f * smoothamount;
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	NewPlayer.SetAngles(SmoothAngles);
	Sleep(1);
}

void Click()
{
	mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
	Sleep(1);
	mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
	Sleep(30);
}

void VelocityComp(int PlayerNumber, float* EnemyPos)
{
	float EnemyVelocity[3];
	float MyVelocity[3];
	EntityList.GetVelocity(PlayerNumber, EnemyVelocity);
	NewPlayer.GetVelocity(MyVelocity);
	EnemyPos[0] = EnemyPos[0] + (EnemyVelocity[0] / 100.f) * (40.f / smoothamount); 
	EnemyPos[1] = EnemyPos[1] + (EnemyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] + (EnemyVelocity[2] / 100.f) * (40.f / smoothamount);
	EnemyPos[0] = EnemyPos[0] - (MyVelocity[0] / 100.f) * (40.f / smoothamount);
	EnemyPos[1] = EnemyPos[1] - (MyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] - (MyVelocity[2] / 100.f) * (40.f / smoothamount);
}



DWORD WINAPI AB(LPVOID params)
{
	cout << "Aimbot thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
		
		if (aimEnabled)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
				
			while (GetAsyncKeyState(NewAimVkeyCode) < 0 && NewPlayer.GetShotsFired() > 1 &&  PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}

			while (GetAsyncKeyState(ForceAimVkeyCode) < 0 && PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}
			
		}		
	}
}


DWORD WINAPI TB(LPVOID params)
{
	cout << "Trigger thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
	
		if (GetAsyncKeyState(TrigVkeyCode) < 0 && TrigVkeyCode != 1)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
			if (PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				Click();
			}
			else
			{
				Sleep(1);
			}
		}	
		
	}
}

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);
	}
}



void ReadData(Player* p) {
	p->team = mem.Read<int>(p->dwBase + offEntityTeam);
}

int main() {
	std::cout << "Bluehack - ESP & Aimbot\n\n";
	std::cout << "Waiting for csgo.exe...";
	while (!mem.Attach("csgo.exe")) {
		std::cout << ".";
		Sleep(500);
	}
	modClient = mem.GetModule("client.dll");
	DwClient = modClient.dwBase;

	modEngine = mem.GetModule("engine.dll");
	DwEngine = modEngine.dwBase;
	std::cout << "\nFound\n\n";

	std::cout << "Getting offsets...";

	offGlow = 0x04AFCE94;
	offEntityList = 0x049EC244;
	offLocalPlayer = 0x00A4A9bC;
	
	Sleep(30);

	std::cout << "\nDone\n\n";

	std::cout << "Hotkeys: \n";
	
	
	std::cout << "Toggle ESP: ";
	ESPVkeyCode = whichKeyIsPressed();
	std::cout << ESPVkeyCode << "\n";
	
	std::cout << "Toggle Aimbot: ";
	AimVkeyCode = whichKeyIsPressed();
	std::cout << AimVkeyCode << "\n";
	
	std::cout << "Force Aim: ";
	ForceAimVkeyCode = whichKeyIsPressed();
	std::cout << ForceAimVkeyCode << "\n";
	
	std::cout << "Trigger Fire: ";
	TrigVkeyCode = whichKeyIsPressed();
	std::cout << TrigVkeyCode << "\n";
	
	std::cout << "Radar Code: ";
	RadarVkeyCode = whichKeyIsPressed();
	std::cout << RadarVkeyCode << "\n";
	
	std::cout << "Panic Key: ";
	PanicVkeyCode = whichKeyIsPressed();
	std::cout << PanicVkeyCode << "\n";
	
	
	std::cout << "\n";

	CreateThread(0, 0x1000, &AB, 0, 0, 0);
	CreateThread(0, 0x1001, &TB, 0, 0, 0);
	
	Player me;
	Player players[64];

	while (!GetAsyncKeyState(PanicVkeyCode)) {
		
		if (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
				Sleep(50);
			}
			glowEnabled = !glowEnabled;
			std::cout << "Glow ESP is now ";
			if (glowEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}

		if (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
				Sleep(50);
			}
			aimEnabled = !aimEnabled;
			std::cout << "Aimbot is now ";
			if (aimEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
	
		if (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
				Sleep(50);
			}
			radarEnabled = !radarEnabled;
			std::cout << "Radar is now ";
			if (radarEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
		
		if (glowEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);

			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					

					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<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.WriteNew<float>(mObj + 0x4, r / 255);
								mem.WriteNew<float>(mObj + 0x8, g / 255);
								mem.WriteNew<float>(mObj + 0xC, b / 255);
								mem.WriteNew<float>(mObj + 0x10, 1.0f);
								mem.WriteNew<bool>(mObj + 0x24, true);
								mem.WriteNew<bool>(mObj + 0x25, false);
							}
						}
					}
				// Entity found	
				}
			}
		}
		
		if (radarEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);
			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					
					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<GlowObjectDefinition_t>(mObj);
					
					if (glowObj.pEntity != NULL) {
						int f_i = -1;
						for (int j = 1; j < 64; j++) {
							if (glowObj.pEntity == players[j].dwBase) {
								if (players[j].team != me.team) {
									mem.WriteNew<int>(players[j].dwBase + dwSpotted, 1);
								}
							}
						}
					}
				}
			}
		}
		
	}

	return 0;
}
thank you very much
Quote Originally Posted by infslash View Post
Here now just replace in the zip file following file: "main.cpp" with following code:

Code:
#include "Game.h"

PModule modEngine, modClient;
PMemory mem;
HANDLE TargetProcess;
DWORD DwClient;
DWORD DwEngine;

DWORD DwEntityList = 0x049EC244; // Updated
DWORD DwEnginePointer = 0x00559434; // Updated
DWORD DwLocalPlayer = 0x00A4A9BC; // Updated
DWORD DwViewAngle = 0x4CE0; // Updated
DWORD dwSpotted = 0x935; // Updated

DWORD offLocalPlayer;
DWORD offEntityList;
DWORD offGlow;

const DWORD DwCrosshairId = 0x2400;
const DWORD DwVecViewOrigin = 0x104;
const DWORD DwVecOrigin = 0x134;
const DWORD DwVecPunch = 0x13E8;
const DWORD DwTeamNumber = 0xF0;
const DWORD DwShotsFired = 0x1D60;
const DWORD DwFlags = 0x100;
const DWORD DwBoneMatrix = 0xA78;
const DWORD DwEntitySize = 0x10;
const DWORD DwHealth = 0xFC;
const DWORD DwLifeState = 0x25B;
const DWORD DwVecVelocity = 0x110;
const DWORD offEntityTeam = 0xF0;

float PitchMinPunch = 2.f;
float PitchMaxPunch = 2.f;
float YawMinPunch = 2.f;
float YawMaxPunch = 2.f;
float smoothamount = 20.f;
int TargetBone = 10;

bool glowEnabled = true;
bool aimEnabled = true;
bool radarEnabled = true;

DWORD TrigVkeyCode;
DWORD ForceAimVkeyCode;
DWORD AutoAimVkeyCode;
DWORD ESPVkeyCode;
DWORD PanicVkeyCode;
DWORD RadarVkeyCode;
DWORD AimVkeyCode;
DWORD NewAimVkeyCode = 1;

[junk_enable /]
[enc_string_enable /]

struct
{
	DWORD GetBaseEntity(int PlayerNumber)
	{
		return mem.Read<DWORD>(DwClient + DwEntityList + (DwEntitySize * PlayerNumber));
	}

	bool IsDead(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<bool>(BaseEntity + DwLifeState);
		}
	}

	int GetTeam(int PlayerNumber)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			return mem.Read<int>(BaseEntity + DwTeamNumber);
		}
	}

	void GetVelocity(int PlayerNumber, float* Buffer)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			mem.Read<float*>(BaseEntity + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetBonePosition(int PlayerNumber, float* BonePosition)
	{
		DWORD BaseEntity = GetBaseEntity(PlayerNumber);
		if (BaseEntity)
		{
			DWORD BoneMatrix = mem.Read<DWORD>(BaseEntity + DwBoneMatrix);
			if (BoneMatrix)
			{
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x0C, true, 1, &BonePosition[0]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x1C, true, 1, &BonePosition[1]);
				mem.Read<float*>(BoneMatrix + 0x30 * TargetBone + 0x2C, true, 1, &BonePosition[2]);
			}
		}
	}

}EntityList;

struct
{

	DWORD GetPlayerBase()
	{
		return mem.Read<DWORD>(DwClient + DwLocalPlayer);
	}

	void SetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Write<float*>(AnglePointer + DwViewAngle, Angles, true, 3);
		}
	}

	void GetVelocity(float* Buffer)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecVelocity, true, 3, Buffer);
		}
	}

	void GetAngles(float* Angles)
	{
		DWORD AnglePointer = mem.Read<DWORD>(DwEngine + DwEnginePointer);
		if (AnglePointer)
		{
			mem.Read<float*>(AnglePointer + DwViewAngle, true, 3, Angles);
		}
	}

	int GetTeam()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwTeamNumber);
		}
	}

	int GetCrosshairId()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwCrosshairId) - 1;
		}
	}

	void GetPunch(float* Punch)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecPunch, true, 2, Punch);
		}
	}

	float GetViewOrigin()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			float Vecview[3];
			mem.Read<float*>(PlayerBase + DwVecViewOrigin, true, 3, Vecview);
			return Vecview[2];
		}
	}

	void GetPosition(float* Position)
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			mem.Read<float*>(PlayerBase + DwVecOrigin, true, 3, Position);
		}
	}

	int GetShotsFired()
	{
		DWORD PlayerBase = GetPlayerBase();
		if (PlayerBase)
		{
			return mem.Read<int>(PlayerBase + DwShotsFired);
		}
	}

}NewPlayer;



void AngleNormalize(float* angle)
{
	if (angle[0] > 89.0f && angle[0] <= 180.0f)
	{
		angle[0] = 89.0f;
	}
	if (angle[0] > 180.f)
	{
		angle[0] -= 360.f;
	}
	if (angle[0] < -89.0f)
	{
		angle[0] = -89.0f;
	}
	if (angle[1] > 180.f)
	{
		angle[1] -= 360.f;
	}
	if (angle[1] < -180.f)
	{
		angle[1] += 360.f;
	}
	if (angle[2] != 0.0f)
	{
		angle[2] = 0.0f;
	}
}

void calcang(float *src, float *dst, float *angles)
{
	random_device Random;
	mt19937 RandomGen(Random());
	uniform_real<float> RandomXdistrib(PitchMinPunch, PitchMaxPunch);
	uniform_real<float> RandomYdistrib(YawMinPunch, YawMaxPunch);
	float MyPunch[2];
	NewPlayer.GetPunch(MyPunch);
	float pitchreduction = RandomXdistrib(RandomGen);
	float yawreduction = RandomYdistrib(RandomGen);
	float delta[3] = { (src[0] - dst[0]), (src[1] - dst[1]), ((src[2] + NewPlayer.GetViewOrigin()) - dst[2]) };
	float hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
	angles[0] = atanf(delta[2] / hyp) * 57.295779513082f - MyPunch[0] * pitchreduction;
	angles[1] = atanf(delta[1] / delta[0]) * 57.295779513082f - MyPunch[1] * yawreduction;
	angles[2] = 0.0f;
	if (delta[0] >= 0.0)
	{
		angles[1] += 180.0f;
	}
}

void SmoothAngleSet(float* dest, float* orig)
{
	float SmoothAngles[3];
	SmoothAngles[0] = dest[0] - orig[0];
	SmoothAngles[1] = dest[1] - orig[1];
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	SmoothAngles[0] = orig[0] + SmoothAngles[0] / 100.0f * smoothamount;
	SmoothAngles[1] = orig[1] + SmoothAngles[1] / 100.0f * smoothamount;
	SmoothAngles[2] = 0.0f;
	AngleNormalize(SmoothAngles);
	NewPlayer.SetAngles(SmoothAngles);
	Sleep(1);
}

void Click()
{
	mouse_event(MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
	Sleep(1);
	mouse_event(MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
	Sleep(30);
}

void VelocityComp(int PlayerNumber, float* EnemyPos)
{
	float EnemyVelocity[3];
	float MyVelocity[3];
	EntityList.GetVelocity(PlayerNumber, EnemyVelocity);
	NewPlayer.GetVelocity(MyVelocity);
	EnemyPos[0] = EnemyPos[0] + (EnemyVelocity[0] / 100.f) * (40.f / smoothamount); 
	EnemyPos[1] = EnemyPos[1] + (EnemyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] + (EnemyVelocity[2] / 100.f) * (40.f / smoothamount);
	EnemyPos[0] = EnemyPos[0] - (MyVelocity[0] / 100.f) * (40.f / smoothamount);
	EnemyPos[1] = EnemyPos[1] - (MyVelocity[1] / 100.f) * (40.f / smoothamount);
	EnemyPos[2] = EnemyPos[2] - (MyVelocity[2] / 100.f) * (40.f / smoothamount);
}



DWORD WINAPI AB(LPVOID params)
{
	cout << "Aimbot thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
		
		if (aimEnabled)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
				
			while (GetAsyncKeyState(NewAimVkeyCode) < 0 && NewPlayer.GetShotsFired() > 1 &&  PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}

			while (GetAsyncKeyState(ForceAimVkeyCode) < 0 && PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				int TempPlayerNumber = NewPlayer.GetCrosshairId();
				if (TempPlayerNumber < 64 && TempPlayerNumber >= 0 && EntityList.GetTeam(TempPlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(TempPlayerNumber) != true)
				{
					PlayerNumber = TempPlayerNumber;
				}
				float PlayerPos[3];
				float EnemyPos[3];
				float AimAngle[3];
				float CurrentAngle[3];
				NewPlayer.GetPosition(PlayerPos);
				EntityList.GetBonePosition(PlayerNumber, EnemyPos);
				VelocityComp(PlayerNumber, EnemyPos);
				calcang(PlayerPos, EnemyPos, AimAngle);
				AngleNormalize(AimAngle);
				NewPlayer.GetAngles(CurrentAngle);
				AngleNormalize(CurrentAngle);
				SmoothAngleSet(AimAngle, CurrentAngle);
				Sleep(1);
			}
			
		}		
	}
}


DWORD WINAPI TB(LPVOID params)
{
	cout << "Trigger thread is running..." << endl;
	while (!GetAsyncKeyState(PanicVkeyCode))
	{
		Sleep(1);

		if (GetAsyncKeyState(PanicVkeyCode))
		{
			ExitThread(0);
		}
	
		if (GetAsyncKeyState(TrigVkeyCode) < 0 && TrigVkeyCode != 1)
		{
			int PlayerNumber = NewPlayer.GetCrosshairId();
			if (PlayerNumber < 64 && PlayerNumber >= 0 && EntityList.GetTeam(PlayerNumber) != NewPlayer.GetTeam() && EntityList.IsDead(PlayerNumber) != true)
			{
				Click();
			}
			else
			{
				Sleep(1);
			}
		}	
		
	}
}

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);
	}
}



void ReadData(Player* p) {
	p->team = mem.Read<int>(p->dwBase + offEntityTeam);
}

int main() {
	std::cout << "Bluehack - ESP & Aimbot\n\n";
	std::cout << "Waiting for csgo.exe...";
	while (!mem.Attach("csgo.exe")) {
		std::cout << ".";
		Sleep(500);
	}
	modClient = mem.GetModule("client.dll");
	DwClient = modClient.dwBase;

	modEngine = mem.GetModule("engine.dll");
	DwEngine = modEngine.dwBase;
	std::cout << "\nFound\n\n";

	std::cout << "Getting offsets...";

	offGlow = 0x04AFCE94;
	offEntityList = 0x049EC244;
	offLocalPlayer = 0x00A4A9bC;
	
	Sleep(30);

	std::cout << "\nDone\n\n";

	std::cout << "Hotkeys: \n";
	
	
	std::cout << "Toggle ESP: ";
	ESPVkeyCode = whichKeyIsPressed();
	std::cout << ESPVkeyCode << "\n";
	
	std::cout << "Toggle Aimbot: ";
	AimVkeyCode = whichKeyIsPressed();
	std::cout << AimVkeyCode << "\n";
	
	std::cout << "Force Aim: ";
	ForceAimVkeyCode = whichKeyIsPressed();
	std::cout << ForceAimVkeyCode << "\n";
	
	std::cout << "Trigger Fire: ";
	TrigVkeyCode = whichKeyIsPressed();
	std::cout << TrigVkeyCode << "\n";
	
	std::cout << "Radar Code: ";
	RadarVkeyCode = whichKeyIsPressed();
	std::cout << RadarVkeyCode << "\n";
	
	std::cout << "Panic Key: ";
	PanicVkeyCode = whichKeyIsPressed();
	std::cout << PanicVkeyCode << "\n";
	
	
	std::cout << "\n";

	CreateThread(0, 0x1000, &AB, 0, 0, 0);
	CreateThread(0, 0x1001, &TB, 0, 0, 0);
	
	Player me;
	Player players[64];

	while (!GetAsyncKeyState(PanicVkeyCode)) {
		
		if (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(ESPVkeyCode) & 0x8000) {
				Sleep(50);
			}
			glowEnabled = !glowEnabled;
			std::cout << "Glow ESP is now ";
			if (glowEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}

		if (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(AimVkeyCode) & 0x8000) {
				Sleep(50);
			}
			aimEnabled = !aimEnabled;
			std::cout << "Aimbot is now ";
			if (aimEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
	
		if (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
			while (GetAsyncKeyState(RadarVkeyCode) & 0x8000) {
				Sleep(50);
			}
			radarEnabled = !radarEnabled;
			std::cout << "Radar is now ";
			if (radarEnabled) {
				std::cout << "enabled\n";
			}
			else {
				std::cout << "disabled\n";
			}
		}
		
		if (glowEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);

			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					

					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<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.WriteNew<float>(mObj + 0x4, r / 255);
								mem.WriteNew<float>(mObj + 0x8, g / 255);
								mem.WriteNew<float>(mObj + 0xC, b / 255);
								mem.WriteNew<float>(mObj + 0x10, 1.0f);
								mem.WriteNew<bool>(mObj + 0x24, true);
								mem.WriteNew<bool>(mObj + 0x25, false);
							}
						}
					}
				// Entity found	
				}
			}
		}
		
		if (radarEnabled) {
			me.dwBase = mem.Read<DWORD>(DwClient + offLocalPlayer);
			ReadData(&me);
			for (int i = 1; i < 64; i++) {
				players[i].dwBase = mem.Read<DWORD>(DwClient + offEntityList + i * 0x10);
				ReadData(&players[i]);
			}

			DWORD pointerGlow = mem.Read<DWORD>(DwClient + offGlow);
			int objectCount = mem.Read<int>(DwClient + offGlow + 0x4);
			if (pointerGlow != NULL) {
				for (int i = 0; i < objectCount; i++) {
					
					DWORD mObj = pointerGlow + i * sizeof(GlowObjectDefinition_t);
					GlowObjectDefinition_t glowObj = mem.ReadNew<GlowObjectDefinition_t>(mObj);
					
					if (glowObj.pEntity != NULL) {
						int f_i = -1;
						for (int j = 1; j < 64; j++) {
							if (glowObj.pEntity == players[j].dwBase) {
								if (players[j].team != me.team) {
									mem.WriteNew<int>(players[j].dwBase + dwSpotted, 1);
								}
							}
						}
					}
				}
			}
		}
		
	}

	return 0;
}
NOT WORKING, i change the main.cpp with this code and replaced it in winrar and nothing works, aimbot, trigger, glow nothing
Quote Originally Posted by BAWAA View Post
NOT WORKING, i change the main.cpp with this code and replaced it in winrar and nothing works, aimbot, trigger, glow nothing
the only thing that is working in that codes are the offsets...

if you changed the offsets

Only Aim assistance would work

ESP and Radar doesn't work

if you have replaced the whole code polyloader would have an error
It is working for me. Don't know what you are trying to do... just try recompiling with polyloader.... I just played 2 games today...
Quote Originally Posted by infslash View Post
It is working for me. Don't know what you are trying to do... just try recompiling with polyloader.... I just played 2 games today...
compiled 10 times and nothing works... confirmed
Then you do something terribly wrong to be honest... Did you really replace the code?

1. Open the ZIP Archive
2. copy the main.cpp out to somewhere
3. edit the code and replace it
4. put it back into the zip archive
5. use polyloader
6. (optional use VMProtect/Enigma)

I just needed to compile it 2 times, then it worked.

- - - Updated - - -

Forgot to mention: In my code the Trigger, Aimbot, Radar, and GlowESP are already turned on ;-)

So you need to press nothing but the Aimkey and Trigger-Key
DWORD DwEntityList = 0x049ec244;
DWORD DwEnginePointer = 0x00559434;
DWORD DwLocalPlayer = 0x00a4a9bc;
DWORD DwViewAngle = 0x4CE0;
DWORD dwSpotted = 0x935;

These are the offsets I used if anyone wants to know, they work for me if they don't work for you then I'm sorry I don't know what to say.
Quote Originally Posted by infslash View Post
Then you do something terribly wrong to be honest... Did you really replace the code?

1. Open the ZIP Archive
2. copy the main.cpp out to somewhere
3. edit the code and replace it
4. put it back into the zip archive
5. use polyloader
6. (optional use VMProtect/Enigma)

I just needed to compile it 2 times, then it worked.

- - - Updated - - -

Forgot to mention: In my code the Trigger, Aimbot, Radar, and GlowESP are already turned on ;-)

So you need to press nothing but the Aimkey and Trigger-Key
if i do it like this, polyloader stop work all the time..
Just change this:

Code:
bool glowEnabled = true;
bool aimEnabled = true;
bool radarEnabled = true;
to this:
Code:
bool glowEnabled = false;
bool aimEnabled = false;
bool radarEnabled = false;
i cant get it work,i save it but it doesnt
Posts 121–135 of 154 · Page 9 of 11
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?