Вопрос Логика чита

Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
Всем привет, я новичок так скажем в этой сфере, немного знаю Python, пробовал себя в разных сферах, тоесть я не сидел на месте а делал всё и сразу. И меня очень сильно затянула тема читов, хочется узнать как вообще с этой темой работай, как работает логика в читах и всё в таком духе, если не сложно пояснить что да как, очень хочется делать читы именно на Python.
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2020
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Есть много гайдов в инете + гайды именно по python'у на этом форуме
 
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2019
Сообщения
839
Реакции[?]
135
Поинты[?]
0
Всем привет, я новичок так скажем в этой сфере, немного знаю Python, пробовал себя в разных сферах, тоесть я не сидел на месте а делал всё и сразу. И меня очень сильно затянула тема читов, хочется узнать как вообще с этой темой работай, как работает логика в читах и всё в таком духе, если не сложно пояснить что да как, очень хочется делать читы именно на Python.
В разделе программирования есть гайды вроде по вх и многом на питоне. Лучше учи c++
 
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
В разделе программирования есть гайды вроде по вх и многом на питоне. Лучше учи c++
гайды то есть, но не расписано какая строчка отвечает за что, ничего не понятно.
 
Пользователь
Статус
Оффлайн
Регистрация
4 Янв 2018
Сообщения
100
Реакции[?]
32
Поинты[?]
0
гайды то есть, но не расписано какая строчка отвечает за что, ничего не понятно.
Логика читов: записываешь или читаешь память процесса. При чтении можешь сделать WH, например. При чтении + записи trigger/bhop. Адреса в памяти называются оффсетами.
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
861
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Логика читов: записываешь или читаешь память процесса. При чтении можешь сделать WH, например. При чтении + записи trigger/bhop. Адреса в памяти называются оффсетами.
Ну не согласен. Триггер + бхоп можно сделать и без записи в память. Например сделать чтение записи и когда противник в прицеле - нажать ЛКМ. С бхопом просто нажатие прыжка раз в n милисекунд.
 
Dreammmless.
Эксперт
Статус
Оффлайн
Регистрация
19 Мар 2019
Сообщения
2,956
Реакции[?]
962
Поинты[?]
1K
гайды то есть, но не расписано какая строчка отвечает за что, ничего не понятно.
SQL когда был жив выкладывал темы, где подписаны строчки
Python:
# https://yougame.biz/threads/147328/ -- Оригинальная  тема от @SQL
# Ну я еще немного подписал

import pymem                   # pip install pymem
import pymem.process           # Устанавливается вместе с модулем 'pymem'
import requests                # pip install requests
from threading import Thread   # Модуль установлен по умолчанию
import keyboard                # pip install keyboard
import time                    # Модуль установлен по умолчанию


print ('>>> Запускается чит...')

# < Подключаемся к игре >

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

print ('')

# < Получаем оффсеты >
print ('>>> Получение оффсетов...')

offsets = 'https://raw.githubusercontent.com/frk1/hazedumper/master/csgo.json'
response = requests.get(offsets).json()

dwLocalPlayer = int(response["signatures"]["dwLocalPlayer"])  # Получаем сигнатуру
dwForceJump = int(response["signatures"]["dwForceJump"])      # Получаем сигнатуру

m_fFlags = int(response["netvars"]["m_fFlags"])               # Получаем нетвар

print ('')
print ('>>> Запуск BunnyHop...')

# < Запускаем функцию >

def BunnyHop():
    while True:
        if pm.read_int(client + dwLocalPlayer):          # Если наш игрок жив
            player = pm.read_int(client + dwLocalPlayer) # Наш игрок
            force_jump = client + dwForceJump            # Сигнатура, отвечающая за прыжок
            on_ground = pm.read_int(player + m_fFlags)   # Флаг on_ground`а

            if keyboard.is_pressed("space"):    # Если нажат пробел
                if on_ground == 257:            # Если игрок на земле
                    pm.write_int(force_jump, 5) # Прыжок
                    time.sleep(0.17)
                    pm.write_int(force_jump, 4) # Не прыжок)

# < Запускаем функцию в мультипоток >
Thread(target=BunnyHop).start()

print ('')
print ('>>> BunnyHop запущен.')
 
Пользователь
Статус
Оффлайн
Регистрация
4 Янв 2018
Сообщения
100
Реакции[?]
32
Поинты[?]
0
Ну не согласен. Триггер + бхоп можно сделать и без записи в память. Например сделать чтение записи и когда противник в прицеле - нажать ЛКМ. С бхопом просто нажатие прыжка раз в n милисекунд.
Жёско, чел, только ты не учитываешь что ЛКМ у тебя будет нажиматься даже если игра свёрнута, по этому эмуляция не самое лучшее решение
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
861
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Жёско, чел, только ты не учитываешь что ЛКМ у тебя будет нажиматься даже если игра свёрнута, по этому эмуляция не самое лучшее решение
Согласен, зато чистое чтение памяти и не более.
 
говном не торгую
Олдфаг
Статус
Оффлайн
Регистрация
27 Мар 2017
Сообщения
2,406
Реакции[?]
1,737
Поинты[?]
1K
Жёско, чел, только ты не учитываешь что ЛКМ у тебя будет нажиматься даже если игра свёрнута, по этому эмуляция не самое лучшее решение
Пожалуйста, авторизуйтесь для просмотра ссылки.
:roflanzdarova: :roflanzdarova:
Насчет пинтона не знаю, но наверн что-то похожее есть
Тогда сначала изучи сам python
Если он спрашивает как работает чит, то наверн он уже умеет писать на питоне, не?
 
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2019
Сообщения
839
Реакции[?]
135
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.
:roflanzdarova: :roflanzdarova:
Насчет пинтона не знаю, но наверн что-то похожее есть

Если он спрашивает как работает чит, то наверн он уже умеет писать на питоне, не?
Мне так не кажется, тут каждый второй так пишет в итоге куча тем, а потом как спастить так что говорить что умеет писать тут не уместно
 
Начинающий
Статус
Оффлайн
Регистрация
12 Сен 2020
Сообщения
6
Реакции[?]
1
Поинты[?]
0
Начнем с того, что все данные о игроке во время игры и о других игроках тоже хранятся в оперативной памяти.
Тебе нужно научиться читать и писать значения в оп. память на питоне. Дальше все зависит от того какой чит писать ты будешь:
External или Internal. Первый же не требует инжекта в игру, относительно безопасен в плане вак бана, но функционал у него весьма ограниченный .
Второй представляет собой длл библеотеку, которая инжектиться в модули игры.


Начнем с того что все значения в оперативной памяти хранятся под определенным адресом в памяти. BaseAddress это "начальный" адрес модуля то есть грубо говоря это тот адрес с которого начинаеться модуль. В ксго десятки модулей, но нас интересует базовый адрес модуля Client.dll и Engine.dll

Сразу стоит упомянуть что с каждым перезапуском игры адреса значений меняются. Поэтому надо искать оффсеты с анг. offsets — смещения.
Допустим у тебя есть базовый адрес Client.dll и оффсет твоего здоровья. Тогда твое здоровье ВСЕГДА будет находиться по адресу Client.dll + offset.


Дальше что б написать аим нужно найти три параметра:

Кординаты твоих "глаз"
Координаты противника
Твои углы обзора

дальше идет только математика — тригонометрия и работа с векторами:

Сначала надо найти вектор наіодки на игрока:
если мы знаем координаты, но просто от координат головы противника отнимаем координаты наших "глаз"
1600188070343.png


Дальше нам надо навестись на этот вектор, то есть вычислить углы обзора так, что бы прицел был на голове противника:
1600188183149.png

То есть если ты учил тригонометрию в школе, становиться очевидно, что вычислять угол будем с помощью двух арктангенс функций. Стоит учесть что результат оно даст в радианах, а движок сурс все вычисляет в градусах. То есть результат надо перевести в градусы.
Код:
double pitch = Math.Atan2(Vector[2], vectorLength) * (180 / Math.PI);
double yaw = Math.Atan2(Vector[1], Vector[0]) * (180 / Math.PI);
Потом просто пишешь в память новые углы обзора
 
Начинающий
Статус
Оффлайн
Регистрация
12 Сен 2020
Сообщения
6
Реакции[?]
1
Поинты[?]
0
Начнем с того, что все данные о игроке во время игры и о других игроках тоже хранятся в оперативной памяти.
Тебе нужно научиться читать и писать значения в оп. память на питоне. Дальше все зависит от того какой чит писать ты будешь:
External или Internal. Первый же не требует инжекта в игру, относительно безопасен в плане вак бана, но функционал у него весьма ограниченный .
Второй представляет собой длл библеотеку, которая инжектиться в модули игры.


Начнем с того что все значения в оперативной памяти хранятся под определенным адресом в памяти. BaseAddress это "начальный" адрес модуля то есть грубо говоря это тот адрес с которого начинаеться модуль. В ксго десятки модулей, но нас интересует базовый адрес модуля Client.dll и Engine.dll

Сразу стоит упомянуть что с каждым перезапуском игры адреса значений меняются. Поэтому надо искать оффсеты с анг. offsets — смещения.
Допустим у тебя есть базовый адрес Client.dll и оффсет твоего здоровья. Тогда твое здоровье ВСЕГДА будет находиться по адресу Client.dll + offset.


Дальше что б написать аим нужно найти три параметра:

Кординаты твоих "глаз"
Координаты противника
Твои углы обзора

дальше идет только математика — тригонометрия и работа с векторами:

Сначала надо найти вектор наіодки на игрока:
если мы знаем координаты, но просто от координат головы противника отнимаем координаты наших "глаз"
Посмотреть вложение 99455


Дальше нам надо навестись на этот вектор, то есть вычислить углы обзора так, что бы прицел был на голове противника:
Посмотреть вложение 99456

То есть если ты учил тригонометрию в школе, становиться очевидно, что вычислять угол будем с помощью двух арктангенс функций. Стоит учесть что результат оно даст в радианах, а движок сурс все вычисляет в градусах. То есть результат надо перевести в градусы.
Код:
double pitch = Math.Atan2(Vector[2], vectorLength) * (180 / Math.PI);
double yaw = Math.Atan2(Vector[1], Vector[0]) * (180 / Math.PI);
Потом просто пишешь в память новые углы обзора
если интересно как находить все вышеперечисленные значения пиши
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2020
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
если интересно как находить все вышеперечисленные значения пиши
Спасибо за информацию, я принцип понял, но вот насчёт значений не очень, если не сложно дать свои может контакты для удобства или же продолжать общение на эту тему тут, так как вопросов у меня будет ну прям ОЧЕЕЕЕНЬ много, я уверен.
 
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
Ребят, я глянул гайд SQL, CTRL+C CTRL+V и просто нихрена не понял, что значит такая то строчка, там расписано кое что, но не всё кому не сложно помочь
 
Начинающий
Статус
Оффлайн
Регистрация
19 Авг 2020
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Сверху Снизу