- Статус
 - Оффлайн
 
- Регистрация
 - 18 Апр 2018
 
- Сообщения
 - 63
 
- Реакции
 - 10
 
		Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
	
Самый обычный WALL HACK для CS:GO!
Coder
Кому понравился - поставьте реакцию:wink:
Wallhack.cpp
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Memory.h
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
				
			Coder
	Пожалуйста, авторизуйтесь для просмотра ссылки.
	Пожалуйста, авторизуйтесь для просмотра ссылки.
	Пожалуйста, авторизуйтесь для просмотра ссылки.
Кому понравился - поставьте реакцию:wink:
Wallhack.cpp
			
				C++:
			
		
		
		#define _CRT_SECURE_NO_WARNINGS
#include <cstdint>
#include <iostream>
#include "Memory.h"
using namespace std;
#define dwLocalPlayer     0xD28B74
#define dwEntityList      0x4D3C7BC
#define dwGlowObject      0x527DFA0
#define m_iTeamNum        0xF4
#define m_iHealth         0x100
#define m_iGlowIndex      0xA428
typedef struct GlowObjectDefinition_t {
    float r;
    float g;
    float b;
    float a;
    uint8_t unk1[16];
    bool m_bRenderWhenOccluded;
    bool m_bRenderWhenUnoccluded;
    bool m_bFullBloom;
    int GlowStyle;
    uint8_t unk2[10];
} GlowObjectDefinition_t;
memory mem;
PModule bClient;
int main() {
    while (!mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) {}
    bClient = mem.GetModule("client_panorama.dll");
    cout << "Glow started..." << endl;
    while (1) {
        DWORD playerBase = mem.Read<DWORD>(bClient.dwBase + dwLocalPlayer);
        if (!playerBase)
            continue;
        int playerHp = mem.Read<int>(playerBase + m_iHealth);
        if (!playerHp)
            continue;
        int playerTeam = mem.Read<int>(playerBase + m_iTeamNum);
        int glowArray = mem.Read<int>(bClient.dwBase + dwGlowObject);
        int glowCount = mem.Read<int>(bClient.dwBase + dwGlowObject + 0x4);
        for (int i = 0; i < glowCount; i++) {
            DWORD gEntity = mem.Read<DWORD>(glowArray + 0x38 * i);
            if (!gEntity)
                continue;
            int entHp = mem.Read<int>(gEntity + m_iHealth);
            if (!entHp)
                continue;
            int entTeam = mem.Read<int>(gEntity + m_iTeamNum);
            if (entTeam == playerTeam)
                continue;
            static GlowObjectDefinition_t Glow = mem.Read<GlowObjectDefinition_t>(glowArray + (i * 0x38) + 0x4);
            if (entTeam == 3) {
                Glow.r = 0.447058827f;
                Glow.g = 0.607843161f;
                Glow.b = 0.866666667f;
                Glow.a = 0.5f;
                Glow.m_bRenderWhenOccluded = true;
                Glow.m_bRenderWhenUnoccluded = false;
            }
            if (entTeam == 2) {
                Glow.r = 0.8784314f;
                Glow.g = 0.6862745f;
                Glow.b = 0.3372549f;
                Glow.a = 0.5f;
                Glow.m_bRenderWhenOccluded = true;
                Glow.m_bRenderWhenUnoccluded = false;
            }
            mem.Write<GlowObjectDefinition_t>(glowArray + (i * 0x38) + 0x4, Glow);
        }
    }
    return 0;
}
	Memory.h
			
				C++:
			
		
		
		#pragma once
#include <Windows.h>
#include <TlHelp32.h>
#include <comdef.h>
struct PModule {
    DWORD dwBase;
    DWORD dwSize;
};
class memory {
public:
    inline bool Attach(const char* pName, DWORD dwAccess) {
        HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
        PROCESSENTRY32 entry;
        entry.dwSize = sizeof(entry);
        do
            if (!strcmp(_bstr_t(entry.szExeFile), pName)) {
                _pId = entry.th32ProcessID;
                CloseHandle(handle);
                _process = OpenProcess(dwAccess, false, _pId);
                return true;
            }
        while (Process32Next(handle, &entry));
        return false;
    }
    inline PModule GetModule(const char* pModule) {
        HANDLE module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, _pId);
        MODULEENTRY32 entry;
        entry.dwSize = sizeof(entry);
        do
            if (!strcmp(_bstr_t(entry.szModule), pModule)) {
                CloseHandle(module);
                return PModule{
                    reinterpret_cast<DWORD>(entry.hModule), entry.modBaseSize
                };
            }
        while (Module32Next(module, &entry));
        return PModule{ 0,0 };
    }
    template<class T>
    T Read(const DWORD dwAddress) {
        T _read;
        ReadProcessMemory(_process, LPVOID(dwAddress), &_read, sizeof(T), NULL);
        return _read;
    }
    template<class T>
    void Write(const DWORD dwAddress, const T value) {
        WriteProcessMemory(_process, LPVOID(dwAddress), &value, sizeof(T), NULL);
    }
    void Exit() {
        CloseHandle(_process);
    }
private:
    HANDLE _process;
    DWORD _pId;
};