Для тех - Кто задался вопросом КАК же написать свой первый чит

Привет , друг! :wave:

Я так же как и ты искал эту тему на данном форуме , но не нашел не одного гайда , а создав тему “Как писать читы?” Та самая тема! , мне ответили “Искать в гугле” , “Искать в интернете”.
Вообщем , я тебе немного дам советов и помогу!
После раздумий , я честно не нашел бы не одной темы в гугле , так как чтобы написать реальный чит - это далеко не написать в гугле “Как писать читы?” , неет ! Пока я не написал
одному человеку чтобы он уточнил и обьястнил хотя бы немного про начало создание , я бы даже не додумался .
Вообщем чтобы написать свое первое легкое творение тебе нудно изучить так называемый “Язык программирования” Python - Гайд для начинающих PYTHON!
Далее посмотри видео урок создания перцептрона (Нейросеть) - Гайд для создания перцептрона .
В дальнейшем если ты поймешь что да как .

За советами я обращался к данному человеку - NAIM , VK NAIM - Спасибо , что подсказал!

Когда напишу свой чит , дам гайд не на начало , а на полное создание чита !

Еще раз повторяюсь , гайд создан для НАЧИНАНИЯ , я не давал уроков с пометкой , что после их просмотра ты напишешь чит на раз два .

В моем случае после данных уроков я все понял! :slightly_smiling_face:

6 Likes
Для тех кто просто любит жить

И так , после долгого срока я конечно бы не стал писать , что либо на питоне , как изложил в этой теме , но раз тема о питоне , то почему бы не продолжить .


Буду отталкиваться от самой популярной темы - Wallhack , да после того как именно ты вникнешь во все , что я тут распишу в надежде кому-то помочь , ты сумеешь написать , что то аналогичное WH .

Ну начнем с простого , сначала скачайте Python .

Python

Качайте последнюю версию , на данный момент это 3.10.2


Установка Python в клиенте :

  • Открываем .exe файл ;
  • Жмем галку на пункт Add Python 3.10 to PATH ;
  • Далее просто Install Now ;

После установки вам надо установить модули pymem и requests, устанавливаем :

  • Открываем CMD( keys : [Win + R] , и пишем ‘cmd’ ) ;
  • Вписываем pip install pymem ;
  • Вписываем pip install requests ;
Спойлер

Теперь если у вас все прекрасно установилось , переходим к следующему пункту .


Создание файла и писание кода :

  • Создайте файл , допустим Wallhack.py , расширение должно быть именно .py ;

Чтобы импортировать модули в свой код для дальнейшей работы с ними , в коде нужно написать сразу через import модули , с которыми вы работаете , пример в коде :

import pymem
import pymem.process
import requests

В Python нет не скобочек , не точек с запятой , так что о том , что вы , что-то там пропустили бояться не стоит .


Далее можно объявить подключение пользователя к игре , будет выглядеть как то так :

print ('Запуск чита..') # При подключении принтиться ;
#-----------------------

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

Далее для ленивых и не любящих копаться в сигнатурах , предлагаю написать еще авто-обновление :

offsets = 'https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.json' # hazedumper offsets git
response = requests.get(offsets).json() #call
#-----------------------------------------------------------------------------
dwGlowObjectManager = int(response["signatures"]["dwGlowObjectManager"])
dwEntityList = int(response["signatures"]["dwEntityList"])
#-----------------------------------------------------------------------------
m_iTeamNum = int(response["netvars"]["m_iTeamNum"])
m_iGlowIndex = int(response["netvars"]["m_iGlowIndex"])
#-----------------------------------------------------------------------------

print ('Включение Wallhack...')

ВСЕ ! Настало время обращаться к самой функции и объявлять её :

def wh():  #Announce

    while True:
        glow_manager = pm.read_int(client + dwGlowObjectManager)

        for i in range(1, 32):  # 1-32 Entity зарезервированы
            entity = pm.read_int(client + dwEntityList + i * 0x10)
#--------------------------------------------------------------------------------------------
            if entity:
                entity_team_id = pm.read_int(entity + m_iTeamNum)
                entity_glow = pm.read_int(entity + m_iGlowIndex)

                if entity_team_id == 2:  # Террористы
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x4, float(1))
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(0)) 
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(0))
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(1))                      
                    pm.write_int(glow_manager + entity_glow * 0x38 + 0x24, 1) # glow

                elif entity_team_id == 3:  # КТ
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x4, float(0))
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(0)) 
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(1))   
                    pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(1)) 
                    pm.write_int(glow_manager + entity_glow * 0x38 + 0x24, 1)   # glow

Полный код :

import pymem
import pymem.process
#----------------------------------------------------- Connect PrintTOInterface;
print ('Запуск чита..') # При подключении принтиться ;
#----------------------------------------------------- Connect Client ;

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

#----------------------------------------------------- Offsets & Globals ;
offsets = 'https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.json' # hazedumper offsets git
response = requests.get(offsets).json() #call
#----------------------------------------------------------------------------- ;
dwGlowObjectManager = int(response["signatures"]["dwGlowObjectManager"])
dwEntityList = int(response["signatures"]["dwEntityList"])
#----------------------------------------------------------------------------- ;
m_iTeamNum = int(response["netvars"]["m_iTeamNum"])
m_iGlowIndex = int(response["netvars"]["m_iGlowIndex"])
#----------------------------------------------------------------------------- ;

print ('Включение Wallhack...') # Enable WH PrintTOInterface ;
#---------------------------------------------------------------------------------------------------------------------- ;
def wh():  #Announce

 while True:
     glow_manager = pm.read_int(client + dwGlowObjectManager) # glow

     for i in range(1, 32):  # 1-32 Entity
         entity = pm.read_int(client + dwEntityList + i * 0x10)
#--------------------------------------------------------------------------------------------
         if entity:
             entity_team_id = pm.read_int(entity + m_iTeamNum)
             entity_glow = pm.read_int(entity + m_iGlowIndex)
#---------------------------------------------------------------------------------------------------------------------- Team T ;
             if entity_team_id == 2:  # Террористы
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x4, float(1))
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(0)) 
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(0))
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(1))                      
                 pm.write_int(glow_manager + entity_glow * 0x38 + 0x24, 1) # glow
#---------------------------------------------------------------------------------------------------------------------- Team CT ;
             elif entity_team_id == 3:  # КТ
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x4, float(0))
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x8, float(0)) 
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0xC, float(1))   
                 pm.write_float(glow_manager + entity_glow * 0x38 + 0x10, float(1)) 
                 pm.write_int(glow_manager + entity_glow * 0x38 + 0x24, 1)   # glow

На этом все , прикреплю исходный файл здесь на ЯД , всем удачи в своих начинаниях :wave:

Спасибо, полезно. Но как это добро зашифрировать?

Что расшифровать

А что означают 0x38 + 0x4? Можно пояснения? Это какое-то смещение именно для “поиска” ентити врага или что?

Да, пытаюсь разобраться в питоне)

Пишешь указатель и добавляешь к нему сайзы , dwEntityList + 0x10*i .

а как можно в дебаге смотреть что происходит? какие обьекты есть и так далее