-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CS:GO - Это игра, в которой нельзя просто взять и найти оффсеты, нужно более глубокое познание, поэтому все указатели я советую брать с гитхаба hazedumper:
Окей, давайте приступим)
Сначала очистим наш старый код, не удаляя static Memory mem.
Начинаем писать наш GLOW ESP:
Добавляем Оффсеты:
Код:
public static int bClient;
public static int oLocalPlayer = 0xAAAFEC;
public static int oEntityList = 0x4A87504;
public static int oTeamNumber = 0xF0;
public static int oHealth = 0xFC;
public static int oDormant = 0xE9;
public static int oGlowObject = 0x4FA44E0;
public static int oGlowIndex = 0xA320;
После каждой обновы CS:GO их надо будет обновлять. Если у вас не получается, то можете попросить помощь у меня на форуме или в вк)
https://vk.com/blazer2k
Добавим цвета для вх:
Код:
static int R = 255;
static int G = 0;
static int B = 255;
static int A = 55;
Теперь добавим структуру самого вх:
Код:
public struct GlowStructure
{
public float r;
public float g;
public float b;
public float a;
public bool rwo;
public bool rwuo;
}
Добавляем внедрение в процесс:
Код:
private static bool GetProcessState(string processName)
{
try
{
Process csgo = Process.GetProcessesByName(processName)[0];
mem = new Memory("csgo");
foreach (ProcessModule module in csgo.Modules)
{
if (module.ModuleName == "client.dll")
bClient = (int)module.BaseAddress;
}
return true;
}
catch
{
return false;
}
}
Теперь самое главное, добавляем метод самого вх:
Код:
private static void Draw(int pGlowIn, GlowStructure col)
{
int adress = bClient + oGlowObject;
int GlowObject = mem.Read<int>(adress);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 4), col.r);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 8), col.g);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 12), col.b);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 0x10), col.a);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x24), true);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x25), false);
}
Теперь идём в Main, вставляем туда главную логическую часть:
Код:
while (!GetProcessState("csgo")) { }
while (true)
{
GlowStructure Enemy = new GlowStructure()
{
r = R / 100f,
g = G / 100f,
b = B / 100f,
a = A / 100f,
rwo = false,
rwuo = false
};
for (int i = 1; i <= 64; i++)
{
int adress = bClient + oLocalPlayer;
int LocalPlayer = mem.Read<int>(adress);
adress = LocalPlayer + oTeamNumber;
int PlayerTeam = mem.Read<int>(adress);
adress = bClient + oEntityList + (i - 1) * 0x10;
int EntityList = mem.Read<int>(adress);
adress = EntityList + oTeamNumber;
int HisTeam = mem.Read<int>(adress);
adress = EntityList + oDormant;
int isDormant = mem.Read<int>(adress);
if (HisTeam != 0 && isDormant != 1)
{
adress = EntityList + oGlowIndex;
int GlowIndex = mem.Read<int>(adress);
adress = EntityList + oHealth;
float HP = mem.Read<int>(adress) / 100f;
if (HisTeam != PlayerTeam && PlayerTeam != 1)
{
Draw(GlowIndex, Enemy);
}
else
{
}
}
}
Thread.Sleep(1);
}
Ещё раз всё проверим, посмотрим на конечный вариант:
Код:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace yougame_biz
{
class Program
{
static Memory mem;
public static int bClient;
public static int oLocalPlayer = 0xAA9F4C;
public static int oEntityList = 0x4A86424;
public static int oTeamNumber = 0xF0;
public static int oHealth = 0xFC;
public static int oDormant = 0xE9;
public static int oGlowObject = 0x4FA33D8;
public static int oGlowIndex = 0xA320;
static int R = 255;
static int G = 0;
static int B = 255;
static int A = 55;
public struct GlowStructure
{
public float r;
public float g;
public float b;
public float a;
public bool rwo;
public bool rwuo;
}
private static bool GetProcessState(string processName)
{
try
{
Process csgo = Process.GetProcessesByName(processName)[0];
mem = new Memory("csgo");
foreach (ProcessModule module in csgo.Modules)
{
if (module.ModuleName == "client.dll")
bClient = (int)module.BaseAddress;
}
return true;
}
catch
{
return false;
}
}
private static void Draw(int pGlowIn, GlowStructure col)
{
int adress = bClient + oGlowObject;
int GlowObject = mem.Read<int>(adress);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 4), col.r);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 8), col.g);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 12), col.b);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 0x10), col.a);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x24), true);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x25), false);
}
static void Main(string[] args)
{
while (!GetProcessState("csgo")) { }
while (true)
{
GlowStructure Enemy = new GlowStructure()
{
r = R / 100f,
g = G / 100f,
b = B / 100f,
a = A / 100f,
rwo = false,
rwuo = false
};
for (int i = 1; i <= 64; i++)
{
int adress = bClient + oLocalPlayer;
int LocalPlayer = mem.Read<int>(adress);
adress = LocalPlayer + oTeamNumber;
int PlayerTeam = mem.Read<int>(adress);
adress = bClient + oEntityList + (i - 1) * 0x10;
int EntityList = mem.Read<int>(adress);
adress = EntityList + oTeamNumber;
int HisTeam = mem.Read<int>(adress);
adress = EntityList + oDormant;
int isDormant = mem.Read<int>(adress);
if (HisTeam != 0 && isDormant != 1)
{
adress = EntityList + oGlowIndex;
int GlowIndex = mem.Read<int>(adress);
adress = EntityList + oHealth;
float HP = mem.Read<int>(adress) / 100f;
if (HisTeam != PlayerTeam && PlayerTeam != 1)
{
Draw(GlowIndex, Enemy);
}
else
{
}
}
}
Thread.Sleep(1);
}
}
}
}
Теперь самое интересное, грузимся на карту, запускаем наш чит, видим результат:
Базовая часть по созданию читов закончена.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Окей, давайте приступим)
Сначала очистим наш старый код, не удаляя static Memory mem.
Начинаем писать наш GLOW ESP:
Добавляем Оффсеты:
Код:
public static int bClient;
public static int oLocalPlayer = 0xAAAFEC;
public static int oEntityList = 0x4A87504;
public static int oTeamNumber = 0xF0;
public static int oHealth = 0xFC;
public static int oDormant = 0xE9;
public static int oGlowObject = 0x4FA44E0;
public static int oGlowIndex = 0xA320;
После каждой обновы CS:GO их надо будет обновлять. Если у вас не получается, то можете попросить помощь у меня на форуме или в вк)
https://vk.com/blazer2k
Добавим цвета для вх:
Код:
static int R = 255;
static int G = 0;
static int B = 255;
static int A = 55;
Теперь добавим структуру самого вх:
Код:
public struct GlowStructure
{
public float r;
public float g;
public float b;
public float a;
public bool rwo;
public bool rwuo;
}
Добавляем внедрение в процесс:
Код:
private static bool GetProcessState(string processName)
{
try
{
Process csgo = Process.GetProcessesByName(processName)[0];
mem = new Memory("csgo");
foreach (ProcessModule module in csgo.Modules)
{
if (module.ModuleName == "client.dll")
bClient = (int)module.BaseAddress;
}
return true;
}
catch
{
return false;
}
}
Теперь самое главное, добавляем метод самого вх:
Код:
private static void Draw(int pGlowIn, GlowStructure col)
{
int adress = bClient + oGlowObject;
int GlowObject = mem.Read<int>(adress);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 4), col.r);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 8), col.g);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 12), col.b);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 0x10), col.a);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x24), true);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x25), false);
}
Теперь идём в Main, вставляем туда главную логическую часть:
Код:
while (!GetProcessState("csgo")) { }
while (true)
{
GlowStructure Enemy = new GlowStructure()
{
r = R / 100f,
g = G / 100f,
b = B / 100f,
a = A / 100f,
rwo = false,
rwuo = false
};
for (int i = 1; i <= 64; i++)
{
int adress = bClient + oLocalPlayer;
int LocalPlayer = mem.Read<int>(adress);
adress = LocalPlayer + oTeamNumber;
int PlayerTeam = mem.Read<int>(adress);
adress = bClient + oEntityList + (i - 1) * 0x10;
int EntityList = mem.Read<int>(adress);
adress = EntityList + oTeamNumber;
int HisTeam = mem.Read<int>(adress);
adress = EntityList + oDormant;
int isDormant = mem.Read<int>(adress);
if (HisTeam != 0 && isDormant != 1)
{
adress = EntityList + oGlowIndex;
int GlowIndex = mem.Read<int>(adress);
adress = EntityList + oHealth;
float HP = mem.Read<int>(adress) / 100f;
if (HisTeam != PlayerTeam && PlayerTeam != 1)
{
Draw(GlowIndex, Enemy);
}
else
{
}
}
}
Thread.Sleep(1);
}
Ещё раз всё проверим, посмотрим на конечный вариант:
Код:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace yougame_biz
{
class Program
{
static Memory mem;
public static int bClient;
public static int oLocalPlayer = 0xAA9F4C;
public static int oEntityList = 0x4A86424;
public static int oTeamNumber = 0xF0;
public static int oHealth = 0xFC;
public static int oDormant = 0xE9;
public static int oGlowObject = 0x4FA33D8;
public static int oGlowIndex = 0xA320;
static int R = 255;
static int G = 0;
static int B = 255;
static int A = 55;
public struct GlowStructure
{
public float r;
public float g;
public float b;
public float a;
public bool rwo;
public bool rwuo;
}
private static bool GetProcessState(string processName)
{
try
{
Process csgo = Process.GetProcessesByName(processName)[0];
mem = new Memory("csgo");
foreach (ProcessModule module in csgo.Modules)
{
if (module.ModuleName == "client.dll")
bClient = (int)module.BaseAddress;
}
return true;
}
catch
{
return false;
}
}
private static void Draw(int pGlowIn, GlowStructure col)
{
int adress = bClient + oGlowObject;
int GlowObject = mem.Read<int>(adress);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 4), col.r);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 8), col.g);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 12), col.b);
mem.Write<float>((GlowObject + (pGlowIn * 0x38) + 0x10), col.a);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x24), true);
mem.Write<bool>((GlowObject + (pGlowIn * 0x38) + 0x25), false);
}
static void Main(string[] args)
{
while (!GetProcessState("csgo")) { }
while (true)
{
GlowStructure Enemy = new GlowStructure()
{
r = R / 100f,
g = G / 100f,
b = B / 100f,
a = A / 100f,
rwo = false,
rwuo = false
};
for (int i = 1; i <= 64; i++)
{
int adress = bClient + oLocalPlayer;
int LocalPlayer = mem.Read<int>(adress);
adress = LocalPlayer + oTeamNumber;
int PlayerTeam = mem.Read<int>(adress);
adress = bClient + oEntityList + (i - 1) * 0x10;
int EntityList = mem.Read<int>(adress);
adress = EntityList + oTeamNumber;
int HisTeam = mem.Read<int>(adress);
adress = EntityList + oDormant;
int isDormant = mem.Read<int>(adress);
if (HisTeam != 0 && isDormant != 1)
{
adress = EntityList + oGlowIndex;
int GlowIndex = mem.Read<int>(adress);
adress = EntityList + oHealth;
float HP = mem.Read<int>(adress) / 100f;
if (HisTeam != PlayerTeam && PlayerTeam != 1)
{
Draw(GlowIndex, Enemy);
}
else
{
}
}
}
Thread.Sleep(1);
}
}
}
}
Теперь самое интересное, грузимся на карту, запускаем наш чит, видим результат:
Базовая часть по созданию читов закончена.
Последнее редактирование модератором: