Загрузка данных


import pymem
import pymem.process
import ctypes
import time

dwLocalPlayer = 0x1A29B8
dwEntityList = 0x1A2A78
dwForceAttack = 0x1B8A0C
m_iTeamNum = 0xF0
m_iHealth = 0x1F8
m_bIsScoped = 0x24C

pm = pymem.Pymem("hl.exe")
client = pymem.process.module_from_name(pm.process_handle, "hw.dll")
client_base = client.lpBaseOfDll

# Получаем адрес функции, отвечающей за Z-буфер
# Метод: отключаем проверку видимости для врагов

print(f"[+] Wallhack активирован. Client base: {hex(client_base)}")
print("[+] Зайдите в катку, враги будут видны через стены.")

def get_module_base(module_name):
    module = pymem.process.module_from_name(pm.process_handle, module_name)
    return module.lpBaseOfDll

def write_memory(address, value, size=4):
    pm.write_bytes(address, value.to_bytes(size, 'little'))

def read_memory(address, size=4):
    return int.from_bytes(pm.read_bytes(address, size), 'little')

while True:
    try:
        local_player = pm.read_int(client_base + dwLocalPlayer)
        if local_player == 0:
            time.sleep(0.05)
            continue
        
        local_team = pm.read_int(local_player + m_iTeamNum)
        
        for i in range(1, 33):
            entity = pm.read_int(client_base + dwEntityList + i * 4)
            if entity == 0:
                continue
            
            entity_team = pm.read_int(entity + m_iTeamNum)
            if entity_team == local_team:
                continue
            
            health = pm.read_int(entity + m_iHealth)
            if health <= 0:
                continue
            
            # Отключаем Z-буфер для врагов (делаем их видимыми сквозь стены)
            # Адрес флага видимости обычно находится в структуре игрока + 0x1C0
            visibility_flag = entity + 0x1C0
            pm.write_int(visibility_flag, 1)  # принудительно делаем видимым
            
        time.sleep(0.01)
        
    except Exception as e:
        pass