Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд Максимально простой банихоп для кс2 на пайтоне

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
24 Окт 2021
Сообщения
8
Реакции
1
Если вы хотели попробовать написать чит на банихоп для кс2, но в гайдах всегда видели только сложные классы хуки и тд, то вот вам версия на питоне которую поймет даже человек начавший учить пайтон 2 дня назад. Для самого чита нам понадобится дампер для получения офсетов, который можно взять на гитхаб
Пожалуйста, авторизуйтесь для просмотра ссылки.
нажимаете release и скачиваете exe файл ( примечание перед использованием положите его в любую папку не оставляйте на рабочем столе) дальше запускаете кс2 и следом когда запустили включаете дампер и получаете все возможные офсеты.
Теперь когда все получено можно переходить к програмированию для питона мы возьмем 3 библиотеки они самые простые и осваиваются за пол часа первая из них pymem вторая keyboard и третья time.
import pymem
import time
import keyboard


дальше когда все импортировали нам нужно подключиться к самой кс2 в pymem это делается одной командой
pm = pymem.Pymem("cs2.exe") - в pm у нас сохраниться процесс
теперь самое главное понять, то что игра при запуске кладется в оперативную память вашего пк в рандомное место поэтому просто читать офсеты мы не можем ведь офсет это расстояние от чего то, сначало надо получить адресс в памяти куда загрузилась сама игра и потом уже скакать от этого места применим все тот же pymem

client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll - поскольку pm это уже наша игра нам нужно взять от нее handle - если совсем просто то это сам процесс и вторым аргументом идет что от него взять, поскольку все действия с игроком в кс2 находятся в client.dll ее мы и берем но будьте внимательны сама команда pymem.process.module_from_name возращает массив от полученной длл ее имя айди и тд поэтому через точку мы указываем .lpBaseOfDll что нам нужен только адресс длл в памяти.

теперь когда мы получили процесс игры и точку отсчета для всех оффсетов давайте возьмем из дампера все нужные нам оффсеты для этого зайдите в дампер - output - client_dll.hpp и возьмите оттуда офсет m_fFlags (это оффсет который указывает на переменную в кс2 отвечающую за проверку стоит игрок на земле или нет) дальше в дампер - output - offsets.hpp и возьмите dwLocalPlayerPawn (это оффсет указывающий на нашего локального игрока) и последний офсет который нам нужен дампер - output - buttons.hpp возьмите оттуда jump (офсет который отвечает за то нажали вы пробел или нет) вот так это выглядит в коде


jump = 0x204DE30;
dwLocalPlayerPawn = 0x20546A0;
m_fFlags = 0x3F8;


Поздравляю теперь у нас есть все чтобы написать баннихоп для кс2 и это мы щас и сделаем


while(True):
localplayer = pm.read_longlong(client + dwLocalPlayerPawn)
OnGround = pm.read_int(localplayer + m_fFlags)
if(OnGround & 1):
if keyboard.is_pressed("space"):
pm.write_int(client + jump, 65537)
time.sleep(0.5)
pm.write_int(client + jump, 16777472)


теперь объясню вкратце что тут происходит запускается цикл мы ищем для начала нас локального игрока поскольку локальный игрок это не просто переменная с числом мы берем тип даннных 8 бит longlong дальше нужно прочитать переменную отвечающую за то на земле мы или нет OnGround в самом сравнении идет & это битовая маска если кто то не знает что это такое напишите я объясню, дальше проверяем нажат ли пробел и если да то записываем в переменную прыжка число 65537 почему именно такое потому что это сигнал прыжка для кс2 а 16777472 сигнал что кнопка больше не нажата дальше объясню важный нюанс почему между ними стоит sleep сам движок кс2 обрабатывает команды так: нажатие поступило 65537 выполнить и если вы не поставите следом же команду отжатия 16777472 то бхоп будет прыгать очень плохо и с задержкой тк перед командой отжатия ему надо будет обработать 1000 команд нажатия и появиться очередь из команд поэтому лучший вариант для движка нажал выполнил отжал выполнил и задержка 0.5 секунд чтоб движок хотябы успевал понимать что происходит и все идеальный бхоп готов, но учтите это все еще не хук и прям идеальным он не будет тк вы просто спамите в память игры а не меняете саму логику прыжка если надо могу рассказать также как сделать хук для банихопа и напоследок вот код целиком:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

import pymem
import time
import keyboard
pm = pymem.Pymem("cs2.exe")
client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll

jump = 0x204DE30;
dwLocalPlayerPawn = 0x20546A0;
m_fFlags = 0x3F8;


while(True):
localplayer = pm.read_longlong(client + dwLocalPlayerPawn)
OnGround = pm.read_int(localplayer + m_fFlags)
if(OnGround & 1):
if keyboard.is_pressed("space"):
pm.write_int(client + jump, 65537)
time.sleep(0.5)
pm.write_int(client + jump, 16777472)

(офсеты могли устареть перепроверяйте дампером!!!!)
 
Последнее редактирование:
Если вы хотели попробовать написать чит на банихоп для кс2, но в гайдах всегда видели только сложные классы хуки и тд, то вот вам версия на питоне которую поймет даже человек начавший учить пайтон 2 дня назад. Для самого чита нам понадобится дампер для получения офсетов, который можно взять на гитхаб
Пожалуйста, авторизуйтесь для просмотра ссылки.
нажимаете release и скачиваете exe файл ( примечание перед использованием положите его в любую папку не оставляйте на рабочем столе) дальше запускаете кс2 и следом когда запустили включаете дампер и получаете все возможные офсеты.
Теперь когда все получено можно переходить к програмированию для питона мы возьмем 3 библиотеки они самые простые и осваиваются за пол часа первая из них pymem вторая keyboard и третья time.
import pymem
import time
import keyboard


дальше когда все импортировали нам нужно подключиться к самой кс2 в pymem это делается одной командой
pm = pymem.Pymem("cs2.exe") - в pm у нас сохраниться процесс
теперь самое главное понять, то что игра при запуске кладется в оперативную память вашего пк в рандомное место поэтому просто читать офсеты мы не можем ведь офсет это расстояние от чего то, сначало надо получить адресс в памяти куда загрузилась сама игра и потом уже скакать от этого места применим все тот же pymem

client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll - поскольку pm это уже наша игра нам нужно взять от нее handle - если совсем просто то это сам процесс и вторым аргументом идет что от него взять, поскольку все действия с игроком в кс2 находятся в client.dll ее мы и берем но будьте внимательны сама команда pymem.process.module_from_name возращает массив от полученной длл ее имя айди и тд поэтому через точку мы указываем .lpBaseOfDll что нам нужен только адресс длл в памяти.

теперь когда мы получили процесс игры и точку отсчета для всех оффсетов давайте возьмем из дампера все нужные нам оффсеты для этого зайдите в дампер - output - client_dll.hpp и возьмите оттуда офсет m_fFlags (это оффсет который указывает на переменную в кс2 отвечающую за проверку стоит игрок на земле или нет) дальше в дампер - output - offsets.hpp и возьмите dwLocalPlayerPawn (это оффсет указывающий на нашего локального игрока) и последний офсет который нам нужен дампер - output - buttons.hpp возьмите оттуда jump (офсет который отвечает за то нажали вы пробел или нет) вот так это выглядит в коде


jump = 0x204DE30;
dwLocalPlayerPawn = 0x20546A0;
m_fFlags = 0x3F8;


Поздравляю теперь у нас есть все чтобы написать баннихоп для кс2 и это мы щас и сделаем


while(True):
localplayer = pm.read_longlong(client + dwLocalPlayerPawn)
OnGround = pm.read_int(localplayer + m_fFlags)
if(OnGround & 1):
if keyboard.is_pressed("space"):
pm.write_int(client + jump, 65537)
time.sleep(0.5)
pm.write_int(client + jump, 16777472)


теперь объясню вкратце что тут происходит запускается цикл мы ищем для начала нас локального игрока поскольку локальный игрок это не просто переменная с числом мы берем тип даннных 8 бит longlong дальше нужно прочитать переменную отвечающую за то на земле мы или нет OnGround в самом сравнении идет & это битовая маска если кто то не знает что это такое напишите я объясню, дальше проверяем нажат ли пробел и если да то записываем в переменную прыжка число 65537 почему именно такое потому что это сигнал прыжка для кс2 а 16777472 сигнал что кнопка больше не нажата дальше объясню важный нюанс почему между ними стоит sleep сам движок кс2 обрабатывает команды так: нажатие поступило 65537 выполнить и если вы не поставите следом же команду отжатия 16777472 то бхоп будет прыгать очень плохо и с задержкой тк перед командой отжатия ему надо будет обработать 1000 команд нажатия и появиться очередь из команд поэтому лучший вариант для движка нажал выполнил отжал выполнил и задержка 0.5 секунд чтоб движок хотябы успевал понимать что происходит и все идеальный бхоп готов, но учтите это все еще не хук и прям идеальным он не будет тк вы просто спамите в память игры а не меняете саму логику прыжка если надо могу рассказать также как сделать хук для банихопа и напоследок вот код целиком:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

import pymem
import time
import keyboard
pm = pymem.Pymem("cs2.exe")
client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll

jump = 0x204DE30;
dwLocalPlayerPawn = 0x20546A0;
m_fFlags = 0x3F8;


while(True):
localplayer = pm.read_longlong(client + dwLocalPlayerPawn)
OnGround = pm.read_int(localplayer + m_fFlags)
if(OnGround & 1):
if keyboard.is_pressed("space"):
pm.write_int(client + jump, 65537)
time.sleep(0.5)
pm.write_int(client + jump, 16777472)

(офсеты могли устареть перепроверяйте дампером!!!!)
зачем вы это делаете??? вам нужен андетект? так в контре и других играх валв с декабря не работает античит, а от ваклайва хоть на ассемблере уефи бхоп пиши ему похуй
 
зачем вы это делаете??? вам нужен андетект? так в контре и других играх валв с декабря не работает античит, а от ваклайва хоть на ассемблере уефи бхоп пиши ему похуй
это тип еще год назад на ют писал код
 
чел это же хуйня полная
нет это не хуйня это самый простейший вариант написания банихопа как я и говорил в заголовке поста хотите посложнее могу показать хук полноценный мне не сложно
зачем вы это делаете??? вам нужен андетект? так в контре и других играх валв с декабря не работает античит, а от ваклайва хоть на ассемблере уефи бхоп пиши ему похуй
методы обхода античита я тут не затрагивал
 
нет это не хуйня это самый простейший вариант написания банихопа как я и говорил в заголовке поста хотите посложнее могу показать хук полноценный мне не сложно
друг это хуйня он не будет прыгать в тайминг
 
друг это хуйня он не будет прыгать в тайминг
спасибо за твое очень ценное мнение, я знаю что такой бхоп не будет прыгать в тайминг тк он работает циклом в ассинхрон createmove кс2, но я уточнил что главная задача была показать самый простой вариант исполнения бхопа и такой вариант работать будет. Если что, пост не такой длинный и ты мог бы прочитать хотябы первые 3 строчки.
 
спасибо за твое очень ценное мнение, я знаю что такой бхоп не будет прыгать в тайминг тк он работает циклом в ассинхрон createmove кс2, но я уточнил что главная задача была показать самый простой вариант исполнения бхопа и такой вариант работать будет. Если что, пост не такой длинный и ты мог бы прочитать хотябы первые 3 строчки.
так а в чем смысл тогда?
 
Назад
Сверху Снизу