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