-
Автор темы
- #1
1.4. Запрещено в названиях тем использовать ненормативную лексику, а также названия не объясняющими вкратце её сути: «Помогите», "Проблема" и им подобные.
Вопросы дурочка новичка.
Нашел исходник glow esp на c++ пару вопросов.
1.почему он жрёт много ресурсов, и есть какой нибудь способ оптимизировать этого зверя?
2.как изменять цвет обводки при уменьшении хп, ну я в теории понимаю как, а на практике нихуя не работает. Я понимаю что нужно изменять
значение WPM<glowStructLocal>(dwGlowManager + (iGlowIndx * 0x38) + 0x4, glowLocal); только вместо 0x4 0x8 0xC типа того? (или я додик и нихуя не понимаю)
3. Еще вопрос, допустим я сделал чит из нескольких исходников, для того что бы он был UD нужно засорить код. Немного не понятно чем? тупо нерабочим кодом, или нечего не делающим, что бы он был просто не такой как у исходников? а потом использовать какой либо протектор?
За ранее огромное спасибо всем кто откликнется на вопросы и поможет разобраться
Нашел исходник glow esp на c++ пару вопросов.
1.почему он жрёт много ресурсов, и есть какой нибудь способ оптимизировать этого зверя?
2.как изменять цвет обводки при уменьшении хп, ну я в теории понимаю как, а на практике нихуя не работает. Я понимаю что нужно изменять
значение WPM<glowStructLocal>(dwGlowManager + (iGlowIndx * 0x38) + 0x4, glowLocal); только вместо 0x4 0x8 0xC типа того? (или я додик и нихуя не понимаю)
3. Еще вопрос, допустим я сделал чит из нескольких исходников, для того что бы он был UD нужно засорить код. Немного не понятно чем? тупо нерабочим кодом, или нечего не делающим, что бы он был просто не такой как у исходников? а потом использовать какой либо протектор?
За ранее огромное спасибо всем кто откликнется на вопросы и поможет разобраться
C++:
include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include "Offsets.h"
//не забыть про оффсеты
#define dwLocalPlayer 0xD2FB84
#define dwGlowObjectManager 0x528B880
#define dwEntityList 0x4D43AB4
#define m_iGlowIndex 0xA428
#define m_iTeamNum 0xF4
#define m_iHealth 0x100
#define m_bDormant 0xED
uintptr_t moduleBase;
DWORD procId;
HWND hwnd;
HANDLE hProcess;
uintptr_t GetModuleBaseAddress(const char* modName) {
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
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);
}
struct glowStructEnemy {
float red = 1.f;
float green = 0.f;
float blue = 0.f;
float alpha = 1.f;
uint8_t padding[8];
float unknown = 1.f;
uint8_t padding2[4];
BYTE renderOccluded = true;
BYTE renderUnoccluded = false;
BYTE fullBloom = false;
}glowEnm;
struct glowStructLocal {
float red = 0.f;
float green = 1.f;
float blue = 0.f;
float alpha = 1.f;
uint8_t padding[8];
float unknown = 1.f;
uint8_t padding2[4];
BYTE renderOccluded = true;
BYTE renderUnoccluded = false;
BYTE fullBloom = false;
}glowLocal;
uintptr_t getLocalPlayer() {
return RPM<uintptr_t>(moduleBase + dwLocalPlayer);
}
int main() {
hwnd = FindWindowA(NULL, "Counter-Strike: Global Offensive");
GetWindowThreadProcessId(hwnd, &procId);
moduleBase = GetModuleBaseAddress("client_panorama.dll");
hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, procId);
while (!GetAsyncKeyState(VK_END))
{
uintptr_t dwGlowManager = RPM<uintptr_t>(moduleBase + dwGlowObjectManager);
int LocalTeam = RPM<int>(getLocalPlayer() + m_iTeamNum);
for (int i = 1; i < 32; i++) {
uintptr_t dwEntity = RPM<uintptr_t>(moduleBase + dwEntityList + i * 0x10);
int iGlowIndx = RPM<int>(dwEntity + m_iGlowIndex);
int EnmHealth = RPM<int>(dwEntity + m_iHealth); if (EnmHealth < 1 || EnmHealth > 100) continue;
int Dormant = RPM<int>(dwEntity + m_bDormant); if (Dormant) continue;
int EntityTeam = RPM<int>(dwEntity + m_iTeamNum);
if (LocalTeam == EntityTeam)
{
WPM<glowStructLocal>(dwGlowManager + (iGlowIndx * 0x38) + 0x4, glowLocal);
}
else if (LocalTeam != EntityTeam)
{
WPM<glowStructEnemy>(dwGlowManager + (iGlowIndx * 0x38) + 0x4, glowEnm);
}
}
}
}