Вопрос Как научиться писать читы

Начинающий
Статус
Оффлайн
Регистрация
14 Окт 2023
Сообщения
10
Реакции[?]
0
Поинты[?]
0
Здравствуйте, у меня вопрос, как научиться писать читы для игр, с чего нужно начать обучение в первую очередь, я умею работать с cheat engine, может вы посоветуете что нибудь для того чтоб было понятно как писать читы, я искал уже информацию по поводу создание читов, но там для меня все запутанно, по этому прошу подсказать, с чего начать, и как двигаться дальше.
 
Пользователь
Статус
Оффлайн
Регистрация
3 Май 2021
Сообщения
253
Реакции[?]
46
Поинты[?]
38K
Здравствуйте, у меня вопрос, как научиться писать читы для игр, с чего нужно начать обучение в первую очередь, я умею работать с cheat engine, может вы посоветуете что нибудь для того чтоб было понятно как писать читы, я искал уже информацию по поводу создание читов, но там для меня все запутанно, по этому прошу подсказать, с чего начать, и как двигаться дальше.
Никогда не поймешь и не узнаешь, это даётся только с рождения. Те кто пишут что просто учи язык и перенаправляют тебя на сайт learn cpp - сами ничего не знают, поскольку писать чит это не только изучить язык, который в последуйщем на практике в читах выглядит не похож сам на себя. Единственное что тебе поможет - это подучить язык, узнать его основы. Все остальное - это просмотр готовых продуктов. Но скажу тебе одно - это очень трудно, игру нужно понимать как и что ты пишешь. Просто смотришь готовые сурсы, спрашиваешь все у ИИ что не понятное и так со временем начинаешь что-то запоминать, что-то записываешь и вот так будет успех

Кроме того, нету понятия как писать читы. Каждый пишет их как ему удобно. Это скорее не обучение, я вечная практика и исправление своих ошибок. Тебе никто не даст готовый материал с конкретными инструкциями пока ты сам его себе не напишешь и не построишь в голове
 
Пользователь
Статус
Оффлайн
Регистрация
8 Июн 2020
Сообщения
194
Реакции[?]
60
Поинты[?]
25K
Никогда не поймешь и не узнаешь, это даётся только с рождения. Те кто пишут что просто учи язык и перенаправляют тебя на сайт learn cpp - сами ничего не знают, поскольку писать чит это не только изучить язык, который в последуйщем на практике в читах выглядит не похож сам на себя. Единственное что тебе поможет - это подучить язык, узнать его основы. Все остальное - это просмотр готовых продуктов. Но скажу тебе одно - это очень трудно, игру нужно понимать как и что ты пишешь. Просто смотришь готовые сурсы, спрашиваешь все у ИИ что не понятное и так со временем начинаешь что-то запоминать, что-то записываешь и вот так будет успех

Кроме того, нету понятия как писать читы. Каждый пишет их как ему удобно. Это скорее не обучение, я вечная практика и исправление своих ошибок. Тебе никто не даст готовый материал с конкретными инструкциями пока ты сам его себе не напишешь и не построишь в голове
Самое лучше описание кодинга читов которое я когда либо видел
 
Начинающий
Статус
Оффлайн
Регистрация
14 Окт 2023
Сообщения
10
Реакции[?]
0
Поинты[?]
0
Никогда не поймешь и не узнаешь, это даётся только с рождения. Те кто пишут что просто учи язык и перенаправляют тебя на сайт learn cpp - сами ничего не знают, поскольку писать чит это не только изучить язык, который в последуйщем на практике в читах выглядит не похож сам на себя. Единственное что тебе поможет - это подучить язык, узнать его основы. Все остальное - это просмотр готовых продуктов. Но скажу тебе одно - это очень трудно, игру нужно понимать как и что ты пишешь. Просто смотришь готовые сурсы, спрашиваешь все у ИИ что не понятное и так со временем начинаешь что-то запоминать, что-то записываешь и вот так будет успех

Кроме того, нету понятия как писать читы. Каждый пишет их как ему удобно. Это скорее не обучение, я вечная практика и исправление своих ошибок. Тебе никто не даст готовый материал с конкретными инструкциями пока ты сам его себе не напишешь и не построишь в голове
Ну, основы С++ для создания читов Это iostream и windows.h? ты написал что все пишут читы как удобно, получается я могу написать читы на одной библиотеке iostream?
 
Пользователь
Статус
Оффлайн
Регистрация
3 Май 2021
Сообщения
253
Реакции[?]
46
Поинты[?]
38K
Ну, основы С++ для создания читов Это iostream и windows.h? ты написал что все пишут читы как удобно, получается я могу написать читы на одной библиотеке iostream?
если ты знаешь как это сделать и ты заранее расчитываешь что функционал не будет слишком высоким, то пиши сколько тебе влезет, кроме того я не имел ввиду совершенно другое. А по поводу основ можно сказать что да, ведь что еще то нужно? Все остальные знания автоматически будут накапливаться, единственное это работа с памятью но не более. Смотреть сурсы и все
 
Начинающий
Статус
Оффлайн
Регистрация
15 Янв 2022
Сообщения
127
Реакции[?]
18
Поинты[?]
8K
если ты знаешь как это сделать и ты заранее расчитываешь что функционал не будет слишком высоким, то пиши сколько тебе влезет, кроме того я не имел ввиду совершенно другое. А по поводу основ можно сказать что да, ведь что еще то нужно? Все остальные знания автоматически будут накапливаться, единственное это работа с памятью но не более. Смотреть сурсы и все
Лучшее начало - learncpp. Это правда. Ты не сможешь сделать ничего нормального без знаний. Дальше идёт устройство windows. Память, assembler. Даже понимание того, как работает та или иная механика в игре сможет дать тебе больше, чем ты думаешь. Не все люди идут смотреть почему именно так написано в коде, если они не понимают этого. Так он просто научится пастить...
 
Начинающий
Статус
Оффлайн
Регистрация
14 Окт 2023
Сообщения
10
Реакции[?]
0
Поинты[?]
0
Лучшее начало - learncpp. Это правда. Ты не сможешь сделать ничего нормального без знаний. Дальше идёт устройство windows. Память, assembler. Даже понимание того, как работает та или иная механика в игре сможет дать тебе больше, чем ты думаешь. Не все люди идут смотреть почему именно так написано в коде, если они не понимают этого. Так он просто научится пастить...
Я посмотрел что это за сайт learncpp, а есть похожий сайт но с изучением только WinAPI, почему я вообще интересуюсь WinAPI, потому что в чужих сурсов, используется WinAPI, но я не понял в чем конкретно он используется ( в чтения памяти, или для рендеринга вх если это как то вообще относится или может я вообще не правильно думаю) вот это бы еще понять для чего нужен WinAPI, он там взаимодействует вроде как с офф сетами
 
I Want to Die in New Orleans
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
506
Реакции[?]
491
Поинты[?]
80K
Я посмотрел что это за сайт learncpp, а есть похожий сайт но с изучением только WinAPI
Пожалуйста, авторизуйтесь для просмотра ссылки.
но если ты думаешь что можно пойти и сразу учить WinAPI ничего не понимая в C++, то это не так. это будет не кодинг и не написание читов, а простой "пастинг". свой код ты без знаний C++ не напишешь, это база, ты не будешь способен понять какое-либо API без понимания языка который используешь.

но я не понял в чем конкретно он используется ( в чтения памяти, или для рендеринга вх если это как то вообще относится или может я вообще не правильно думаю) вот это бы еще понять для чего нужен WinAPI, он там взаимодействует вроде как с офф сетами
игра на которую ты будешь писать чит будет являться процессом, процессы создаёт операционная система (в этом случае Windows), у Windows имеется своё API для разработчиков и именно это API ты и будешь использовать. WinAPI предоставляет тебе абсолютно всё что нужно для работы с системой в целом, в него входит и тот функционал что ты описал - чтение памяти любых процессов (
Пожалуйста, авторизуйтесь для просмотра ссылки.
), рендеринг так же можно сделать на основе WinAPI (wingdi).

для чего нужен WinAPI, он там взаимодействует вроде как с офф сетами
нет, работа с оффсетами не относится напрямую к WinAPI. оффсет, если объяснять на пальцах, это смещение определённого поля или элемента данных внутри блока памяти. держи пример:
C++:
namespace offsets
{
    namespace player
    {
        constexpr int bullets_shot = 0x0;
        constexpr int health = 0x4;
        constexpr int max_health = 0x8;
    }
}

struct Player // `блок памяти` Player который содержит `элементы`
{
    // Размер `int` составляет 4 байта

    int bullets_shot = 12;  // оффсет 0 (0x0) (начало структуры, первая переменная имеет 0 оффсет.)
    int health = 136;       // оффсет 4 (0x4) (прибавился размер типа предыдущей переменной `bullets_shot` в байтах)
    int max_health = 200;   // оффсет 8 (0x8) (прибавился размер типа предыдущей переменной `health` в байтах)
};

int main()
{
    Player player;

    // Эта часть может показаться трудной, но ты легко в ней разберешься
    // после того как поймёшь устройство работы с указателями.
    int* health_ptr = reinterpret_cast<int*>(reinterpret_cast<char*>(&player) + offsets::player::health);
    int player_health = *health_ptr;

    std::cout << "Health: " << player_health << std::endl; // Health: 136
}
и на всякий случай держи интересную для новичка (имхо) аналогию:

у тебя есть книга на 500 страниц, ты начинаешь читать книгу с первой страницы. представь, что ты почитал и остановился на 200-й странице. если бы книга была структурой данных в памяти, то "начало книги" - это начальный адрес этой структуры, а "200-я страница" - это как раз оффсет который поможет тебе быстро найти нужную страницу на которой ты остановился.
одна глава книги занимает в среднем 4 страницы, так же бывают и долгие главы по 8 страниц, а иногда даже больше (пользовательские типы и классы), имея начальную страницу книги (1-я страница) и зная кол-во страниц каждой главы (размер типа в байтах), а так же кол-во глав (кол-во переменных) мы можем найти различные главы книги, то есть: Базовый адрес объекта + оффсет = итоговый элемент


надеюсь достаточно доступно объяснил, удачи в обучении!
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
3 Май 2021
Сообщения
253
Реакции[?]
46
Поинты[?]
38K
Не все люди идут смотреть почему именно так написано в коде, если они не понимают этого
Вот в том то и дело. Выучив половину самого реально нужного на learncpp, на деле в сурсах чита ты встречается с совершенно будто бы другим языком. Так или иначе, выучив или нет язык тебе придётся смотреть сурсы. А тем более когда уже есть чат джпт которые сверху объяснит что к чему это еще легче
 
Начинающий
Статус
Оффлайн
Регистрация
21 Июл 2022
Сообщения
4
Реакции[?]
2
Поинты[?]
2K
Пожалуйста, авторизуйтесь для просмотра ссылки.
но если ты думаешь что можно пойти и сразу учить WinAPI ничего не понимая в C++, то это не так. это будет не кодинг и не написание читов, а простой "пастинг". свой код ты без знаний C++ не напишешь, это база, ты не будешь способен понять какое-либо API без понимания языка который используешь.


игра на которую ты будешь писать чит будет являться процессом, процессы создаёт операционная система (в этом случае Windows), у Windows имеется своё API для разработчиков и именно это API ты и будешь использовать. WinAPI предоставляет тебе абсолютно всё что нужно для работы с системой в целом, в него входит и тот функционал что ты описал - чтение памяти любых процессов (
Пожалуйста, авторизуйтесь для просмотра ссылки.
), рендеринг так же можно сделать на основе WinAPI (wingdi).


нет, работа с оффсетами не относится напрямую к WinAPI. оффсет, если объяснять на пальцах, это смещение определённого поля или элемента данных внутри блока памяти. держи пример:
C++:
namespace offsets
{
    namespace player
    {
        constexpr int bullets_shot = 0x0;
        constexpr int health = 0x4;
        constexpr int max_health = 0x8;
    }
}

struct Player // `блок памяти` Player который содержит `элементы`
{
    // Размер `int` составляет 4 байта

    int bullets_shot = 12;  // оффсет 0 (0x0) (начало структуры, первая переменная имеет 0 оффсет.)
    int health = 136;       // оффсет 4 (0x4) (прибавился размер типа предыдущей переменной `bullets_shot` в байтах)
    int max_health = 200;   // оффсет 8 (0x8) (прибавился размер типа предыдущей переменной `health` в байтах)
};

int main()
{
    Player player;

    // Эта часть может показаться трудной, но ты легко в ней разберешься
    // после того как поймёшь устройство работы с указателями.
    int* health_ptr = reinterpret_cast<int*>(reinterpret_cast<char*>(&player) + offsets::player::health);
    int player_health = *health_ptr;

    std::cout << "Health: " << player_health << std::endl; // Health: 136
}
и на всякий случай держи интересную для новичка (имхо) аналогию:

у тебя есть книга на 500 страниц, ты начинаешь читать книгу с первой страницы. представь, что самая интересная глава начинается на 200-й странице. если бы книга была структурой данных в памяти, то "начало книги" — это начальный адрес этой структуры, а "200-я страница" - это как раз оффсет который поможет тебе быстро найти нужную страницу при этом не перелистывая всю книгу с первой


надеюсь достаточно доступно объяснил, удачи в обучении!
Это было самое лучшее объяснение связанное с оффесетами, которое я только видел
 
Сверху Снизу