Начинающий
-
Автор темы
- #1
Либо относительно старые читы больше не воркают (2020 год), либо я дурак и неправильно копирую код. Пиздил с 2-3 разных тем, но ничего не работает. В чем проблема, мб сейчас в кске чет изменили.
Пожалуйста, авторизуйтесь для просмотра ссылки.
На каком языке пишешь Glow? Я могу сделать по фасту на C++ и на AHK, выбирай на каком нужно, скинуЛибо относительно старые читы больше не воркают (2020 год), либо я дурак и неправильно копирую код. Пиздил с 2-3 разных тем, но ничего не работает. В чем проблема, мб сейчас в кске чет изменили.
C++На каком языке пишешь Glow? Я могу сделать по фасту на C++ и на AHK, выбирай на каком нужно, скину
Ожидай
Буду очень благодарен, если получитсяОжидай
Не забудь втыкнуть в свойствах проекта многобайтовую кодировку и поставь Release x64.Буду очень благодарен, если получится
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <thread>
#include <chrono>
using namespace std;
using namespace std::chrono;
using namespace std::this_thread;
DWORD dwLocalPlayer = 0xDA746C;
DWORD dwEntityList = 0x4DC178C;
DWORD dwGlowObjectManager = 0x5309C90;
DWORD m_iGlowIndex = 0x10488;
DWORD m_iHealth = 0x100;
DWORD m_bSpotted = 0x93D;
DWORD m_iTeamNum = 0xF4;
DWORD m_bDormant = 0xED;
uintptr_t engine;
DWORD process_id;
uintptr_t client_game;
HWND window_game;
HANDLE hProcess;
uintptr_t GetModuleBaseAddress(const char* modName) {
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, process_id);
if (hSnap != INVALID_HANDLE_VALUE) {
MODULEENTRY32 modEntry;
modEntry.dwSize = sizeof(modEntry);
if (Module32First(hSnap, &modEntry)) {
do {
if (!strcmp(modEntry.szModule, modName)) {
CloseHandle(hSnap);
return (uintptr_t)modEntry.modBaseAddr;
}
} while (Module32Next(hSnap, &modEntry));
}
}
}
template<typename T> T RPM(SIZE_T address) {
T buffer;
ReadProcessMemory(hProcess, (LPCVOID)address, &buffer, sizeof(T), NULL);
return buffer;
}
template<typename T> void WPM(SIZE_T address, T buffer) {
WriteProcessMemory(hProcess, (LPVOID)address, &buffer, sizeof(buffer), NULL);
}
uintptr_t LocPlay() {
return RPM<DWORD>(client_game + dwLocalPlayer);
}
int main()
{
window_game = FindWindowA(NULL, "Counter-Strike: Global Offensive");
GetWindowThreadProcessId(window_game, &process_id);
client_game = GetModuleBaseAddress("client.dll");
hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, process_id);
while (1)
{
for (int i = 1; i < 64; i++) // 64 - количество игроков
{
int GlowManager = RPM<int>(client_game + dwGlowObjectManager);
int MyTeam = RPM<int>(LocPlay() + m_iTeamNum);
int Vragi = RPM<int>(client_game + dwEntityList + i * 0x10);
int EntityTeam = RPM<int>(Vragi + m_iTeamNum);
int GlowInd = RPM<int>(Vragi + m_iGlowIndex);
if (EntityTeam == 3 and MyTeam == 2)
{
int ss = RPM<int>(GlowManager + (GlowInd * 0x38) + 0x8);
WPM<float>(GlowManager + GlowInd * 0x38 + 0x8, 1.0f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0xC, 0.300000f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0x10, 1.0f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0x14, 1.0f);
WPM<bool>(GlowManager + GlowInd * 0x38 + 0x28, true);
WPM<int>(GlowManager + GlowInd * 0x38 + 0x30, 0); // 0 - Glow, 1 - Chams, 2 - тоже Chams
}
else if (EntityTeam == 2 and MyTeam == 3)
{
WPM<float>(GlowManager + GlowInd * 0x38 + 0x8, 0.0f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0xC, 1.0f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0x10, 0.900000f);
WPM<float>(GlowManager + GlowInd * 0x38 + 0x14, 1.0f);
WPM<bool>(GlowManager + GlowInd * 0x38 + 0x28, true);
WPM<int>(GlowManager + GlowInd * 0x38 + 0x30, 0); // 0 - Glow, 1 - Chams, 2 - тоже Chams
}
this_thread::sleep_for(chrono::nanoseconds(500000)); // типо Sleep Sleep(1);
}
}
}
Привет , а на ахк можно ?)На каком языке пишешь Glow? Я могу сделать по фасту на C++ и на AHK, выбирай на каком нужно, скину
зачем? хдПривет , а на ахк можно ?)
Да, конечно. Только тебе нужно запускать это в AutoHotKey ANSII 32-bit. Вот ссылка на мой Skin Changer в котором я объясняю как это сделать - https://yougame.biz/threads/208439/Привет , а на ахк можно ?)
#NoEnv
SetBatchLines, -1 ; МАКСИМАЛЬНАЯ СКОРОСТЬ СКРИПТА ( -1 ), НОРМАЛЬНАЯ СКОРОСТЬ СКРИПТА ( 5ms )
;_________________СКАЧИВАЕТ ФАЙЛ С ОФФСЕТАМИ В ПАПКУ TEMP(C:) И УДАЛЯЕТ ЕГО_________________
FileDelete, %A_Temp%/Offsets.ini
UrlDownloadToFile, https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.toml, %A_Temp%/Offsets.ini
;__________________________ЧИТАЕТ ОФФСЕТЫ Hazedumper__________________________
IniRead, dwLocalPlayer, %A_Temp%/Offsets.ini, signatures, dwLocalPlayer
IniRead, dwEntityList, %A_Temp%/Offsets.ini, signatures, dwEntityList
IniRead, dwGlowObjectManager, %A_Temp%/Offsets.ini, signatures, dwGlowObjectManager
IniRead, m_iGlowIndex, %A_Temp%/Offsets.ini, netvars, m_iGlowIndex
IniRead, m_iTeamNum, %A_Temp%/Offsets.ini, netvars, m_iTeamNum
DllName = client.dll
;_____________________________________________________________________________
;__________________________ЗАПИСЫВАЕТ В CFG MAX_PLAYER И All_Glow__________________________
IniRead, MAX_PLAYER, CFG.INI, CFG, МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ИГРОКОВ, 16
IniWrite, %MAX_PLAYER%, CFG.INI, CFG, МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ИГРОКОВ
IniRead, All_Glow, CFG.INI, CFG, ПОДСВЕТКА ВСЕХ ИГРОКОВ, off
IniWrite, %All_Glow%, CFG.INI, CFG, ПОДСВЕТКА ВСЕХ ИГРОКОВ
;__________________________________________________________________________________________
;_________________________ЗАПИСЫВАЕТ В CFG ЦВЕТА ПЕРСОВ И ЯРКОСТЬ__________________________
; ТЕРРОРИСТЫ:
IniRead, red_t, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ , 1
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
IniRead, green_t, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ, 0
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
IniRead, blue_t, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ, 0
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
IniRead, Alpha_t, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ, 1
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
; СПЕЦНАЗ:
IniRead, red_ct, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ, 0
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
IniRead, green_ct, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ, 0
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
IniRead, blue_ct, CFG.INI, CFG, СИНИЙ СПЕЦОВ, 1
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
IniRead, Alpha_ct, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ, 1
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
;__________________________________________________________________________________________
;____________________________________ПРОВЕРЯЕТ ЗАПУЩЕНА ЛИ ИГРА, ЕСЛИ НЕТ ЗАПУСКАЕТ____________________________________
Loop
{
Process, Exist, csgo.exe
PID = %ErrorLevel%
if (PID = 0)
{
Run, steam://rungameid/730
Process, Wait, csgo.exe, 120
PID = %ErrorLevel%
if (PID == 0)
{
MsgBox, 48, Трудности с запуском игры..., Попробуй запустить игру вручную`, после чего запусти скрипт!
ExitApp
}
}
else
{
break
}
}
try_dll := 0
Loop
{
Client := GetDllBase(DllName, PID)
if (Client == 0 and try_dll <= 60)
{
Sleep 2000
try_dll++
}
else if (Client == 0 and try_dll > 60)
{
MsgBox, 48, Не найдена Dll..., Возможно данные хранятся не на client.dll
ExitApp
}
else
{
break
}
}
;______________________________________________________________________________________________________________________
ProcessHandle := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", PID, "UInt")
Loop
{
For i in range(1, MAX_PLAYER) ; 0 - Я, 1 и больше - остальные! MAX_PLAYER - лимит игроков (чем больше, тем больше багов подсветки)
{
LocalGamer := ReadMemory(Client + dwLocalPlayer, PID, ProcessHandle) ; Я
EntGamer := ReadMemory(Client + dwEntityList + i * 0x10, PID, ProcessHandle) ; Все
GlowIndex := ReadMemory(EntGamer + m_iGlowIndex, PID, ProcessHandle) ; Индекс подсветки сущностей
GlowManager := ReadMemory(Client + dwGlowObjectManager, PID, ProcessHandle) ; Хуита
MyTeam := ReadMemory(LocalGamer + m_iTeamNum, PID, ProcessHandle) ; Моя команда
EntTeam := ReadMemory(EntGamer + m_iTeamNum, PID, ProcessHandle) ; Команда противника
if (All_Glow == "off") ; Если подсветка всех игроков выключена - светить противника!
{
if (MyTeam == 3 and EntTeam == 2) ; Если моя команда - специ и вражеская команда - терры
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_t, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
else if (MyTeam == 2 and EntTeam == 3) ; Если моя команда - терры и вражеская команда - специ
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_ct, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
}
else ; Если подсветка всех игроков включена - светить всех!
{
if (EntTeam == 2) ; Если вражеская команда - терры
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_t, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_t, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
else if (EntTeam == 3) ; Если вражеская команда - специ
{
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x8, red_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0xC, green_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x10, blue_ct, ProcessHandle)
WriteMemoryfloat(GlowManager + (GlowIndex * 0x38) + 0x14, Alpha_ct, ProcessHandle)
WriteMemoryUChar(GlowManager + (GlowIndex * 0x38) + 0x28, 1, ProcessHandle)
}
}
}
}
Left::
{
if (MyTeam == 3)
{
red_t := red_t + 0.02
if (red_t >= 1)
{
red_t := 1
}
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
}
if (MyTeam == 2)
{
red_ct := red_ct + 0.02
if (red_ct >= 1)
{
red_ct := 1
}
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
}
}
return
^Left::
{
if (MyTeam == 3)
{
red_t := red_t - 0.02
if (red_t <= 0)
{
red_t := 0
}
IniWrite, %red_t%, CFG.INI, CFG, КРАСНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
red_ct := red_ct - 0.02
if (red_ct <= 0)
{
red_ct := 0
}
IniWrite, %red_ct%, CFG.INI, CFG, КРАСНЫЙ СПЕЦОВ
}
}
return
Down::
{
if (MyTeam == 3)
{
green_t := green_t + 0.02
if (green_t >= 1)
{
green_t := 1
}
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
green_ct := green_ct + 0.02
if (green_ct >= 1)
{
green_ct := 1
}
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
}
}
return
^Down::
{
if (MyTeam == 3)
{
green_t := green_t - 0.02
if (green_t <= 0)
{
green_t := 0
}
IniWrite, %green_t%, CFG.INI, CFG, ЗЕЛЕНЫЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
green_ct := green_ct - 0.02
if (green_ct <= 0)
{
green_ct := 0
}
IniWrite, %green_ct%, CFG.INI, CFG, ЗЕЛЕНЫЙ СПЕЦОВ
}
}
return
Right::
{
if (MyTeam == 3)
{
blue_t := blue_t + 0.02
if (blue_t >= 1)
{
blue_t := 1
}
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
blue_ct := blue_ct + 0.02
if (blue_ct >= 1)
{
blue_ct := 1
}
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
}
}
return
^Right::
{
if (MyTeam == 3)
{
blue_t := blue_t - 0.02
if (blue_t <= 0)
{
blue_t := 0
}
IniWrite, %blue_t%, CFG.INI, CFG, СИНИЙ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
blue_ct := blue_ct - 0.02
if (blue_ct <= 0)
{
blue_ct := 0
}
IniWrite, %blue_ct%, CFG.INI, CFG, СИНИЙ СПЕЦОВ
}
}
return
Up::
{
if (MyTeam == 3)
{
Alpha_t := Alpha_t + 0.02
if (Alpha_t >= 1)
{
Alpha_t := 1
}
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
Alpha_ct := Alpha_ct + 0.02
if (Alpha_ct >= 1)
{
Alpha_ct := 1
}
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
}
}
return
^Up::
{
if (MyTeam == 3)
{
Alpha_t := Alpha_t - 0.02
if (Alpha_t <= 0)
{
Alpha_t := 0
}
IniWrite, %Alpha_t%, CFG.INI, CFG, ЯРКОСТЬ ТЕРРОРИСТОВ
}
else if (MyTeam == 2)
{
Alpha_ct := Alpha_ct - 0.02
if (Alpha_ct <= 0)
{
Alpha_ct := 0
}
IniWrite, %Alpha_ct%, CFG.INI, CFG, ЯРКОСТЬ СПЕЦОВ
}
}
return
; ////////////////////////// НЕ ТРОГАТЬ \\\\\\\\\\\\\\\\\\\\\\\\\\
range(from, to)
{
range := {}
if (from < to)
While, (from <= to)
range[from++] := A_Index
else
While, (from >= to)
range[from--] := A_Index
return range
}
GetDllBase(DllName, PID = 0)
{
SetFormat, Integer, Hex
TH32CS_SNAPMODULE := 0x00000008
INVALID_HANDLE_VALUE = -1
VarSetCapacity(me32, 548, 0)
NumPut(548, me32)
snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", TH32CS_SNAPMODULE
, "Uint", PID)
If (snapMod = INVALID_HANDLE_VALUE)
{
SetFormat, Integer, D
Return 0
}
If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32))
{
while(DllCall("Module32Next", "Uint", snapMod, "UInt", &me32))
{
If !DllCall("lstrcmpi", "Str", DllName, "UInt", &me32 + 32)
{
DllCall("CloseHandle", "UInt", snapMod)
SetFormat, Integer, D
Return NumGet(&me32 + 20)
}
}
}
DllCall("CloseHandle", "Uint", snapMod)
SetFormat, Integer, D
Return 0
}
WriteMemory(address, newval, ProcessHandle)
{
return DllCall("WriteProcessMemory", "UInt", processhandle, "UInt", address, "UInt*", newval, "UInt", 4, "UInt *", 0)
}
WriteMemoryUChar( adress, value, processhandle)
{
return DllCall("WriteProcessMemory", "Ptr", ProcessHandle, "Ptr", adress, "UChar*", value, "Ptr", 1, "Ptr", 0)
}
ReadMemory(MADDRESS, PID = 0, ProcessHandle = -1)
{
VarSetCapacity(MVALUE,4,0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
SetFormat, Integer, D
return, result
}
WriteMemoryfloat(adress, value, ProcessHandle)
{
return DllCall("WriteProcessMemory", "UInt", ProcessHandle, "UInt", adress, "float*", value, "Uint", 4, "Uint *", 0)
}
~*End::ExitApp
return
Glow(ByRef glowObj, ByRef index, ByRef struct, ByRef r, ByRef g, ByRef b, ByRef a, ByRef rwo, ByRef rwu, ByRef fbr, ByRef gs:=0) {
NumPut(r/255, struct, GLOWSTRUCT_glowColor_r, "float")
NumPut(g/255, struct, GLOWSTRUCT_glowColor_g, "float")
NumPut(b/255, struct, GLOWSTRUCT_glowColor_b, "float")
NumPut(a/255, struct, GLOWSTRUCT_glowColor_a, "float")
NumPut(rwo, struct, GLOWSTRUCT_renderWhenOccluded, "char")
NumPut(rwu, struct, GLOWSTRUCT_renderWhenUnoccluded, "char")
NumPut(fbr, struct, GLOWSTRUCT_fullBloomRender, "char")
NumPut(gs, struct, GLOWSTRUCT_glowStyle, "int")
csgo.writeRaw(glowObj+(index*0x38), &struct, 0x38)
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz