Иногда, играя с какой-нибудь читом, ты думал, Как же его сделали? Смогу ли сделать?
Я попробую показать вам как можно написать простой чит на c++.
Что для этого нужно:
УМЕТЬ РАБОТАТЬ С CHEAT ENGINE(можно посмотреть видео на ютубе если кто не в теме)
VISUAL STUDIO И КАК С НИМ РАБОТАТЬ
В CHEAT ENGINEДЛЯ НАЧАЛА ВЫ НАХОДИТЕ НУЖНЫЙ АДРЕС(КОТОРЫЙ ВЫ ХОТИТЕ ЧТОБЫ ВАШЕ ПРИЛОЖЕНИЕ АВТОМАТИЧЕСКИ МЕНЯЛО ЗНАЧЕНИЕ НА УКАЗАННОЕ)
B VISUAL STUDIO СОЗДАЁМ ПРОЕКТ, ШАБЛОНЫ КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ
И ТАМ ЖЕ ПИШЕМ:
Вот сам код, я попробую объяснить его.
Подключаем что нам нужно:
Создаём переменные
ПОлучаем pid процесса, обратите внимание, я использовал название окна и находил его pid, но вы можете делать так, как показывал дарвин
если делайте как дарвин вот код:
Проверка, есть ли такое окно,
обратите внимание если вы сделали как дарвин то проверку рекомендуется сделать так:
тут мы читаем то, что лежит в указанном адресе(addr) и выводим на экран
тут мы меняем значение в памяти игры:
Думаю вам был полезен данный гайд!
Я попробую показать вам как можно написать простой чит на c++.
Что для этого нужно:


В CHEAT ENGINEДЛЯ НАЧАЛА ВЫ НАХОДИТЕ НУЖНЫЙ АДРЕС(КОТОРЫЙ ВЫ ХОТИТЕ ЧТОБЫ ВАШЕ ПРИЛОЖЕНИЕ АВТОМАТИЧЕСКИ МЕНЯЛО ЗНАЧЕНИЕ НА УКАЗАННОЕ)
B VISUAL STUDIO СОЗДАЁМ ПРОЕКТ, ШАБЛОНЫ КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ
И ТАМ ЖЕ ПИШЕМ:
C++:
#include <windows.h>
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
DWORD addr = 0x101454D4;//здесь адрес из Cheat Engine, обратите внимание я поставил впереди 0х и потом адрес
DWORD pid;//pid процесса
int data;//эту переменную я буду использовать для записи и чтения
HWND hwd = FindWindow(0, L"Counter-Strike");
GetWindowThreadProcessId(hwd, &pid);
if (!hwd) {
std::cout << "Нету такого окна!" << endl;
//printf("oppa");
system("pause");
return -1;
}
HANDLE hnd = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if (!hnd) {
std::cout << "Ошибка!" << endl;
system("pause");
return -1;
}
ReadProcessMemory(hnd, (LPVOID)addr, &data, sizeof(nmon), 0);
std::cout << "Значение в Адресе: " <<data<<endl;
std::cout << "На что вы хотите поменять значение: ";
std::cin >> data;
WriteProcessMemory(hnd, (LPVOID)addr, &data, sizeof(nmon), 0);
std::cout<<"Значение изменено!"
system("pause");
}
Подключаем что нам нужно:
C++:
#include <windows.h>
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
Создаём переменные
C++:
DWORD addr = 0x101454D4;//здесь адрес из Cheat Engine, обратите внимание я поставил впереди 0х и потом адрес
DWORD pid;
ПОлучаем pid процесса, обратите внимание, я использовал название окна и находил его pid, но вы можете делать так, как показывал дарвин
C++:
HWND hwd = FindWindow(0, L"Counter-Strike");
GetWindowThreadProcessId(hwd, &pid);
C++:
pid=GetProcessID("csgo.exe");
Проверка, есть ли такое окно,
C++:
if (!hnd) {
std::cout << "Ошибка!" << endl;
system("pause");
return -1;
}
C++:
if (!pid) {
std::cout << "Ошибка!" << endl;
system("pause");
return -1;
}
тут мы читаем то, что лежит в указанном адресе(addr) и выводим на экран
C++:
ReadProcessMemory(hnd, (LPVOID)addr, &data, sizeof(nmon), 0);
std::cout << "Значение в Адресе: " << data<<endl;
тут мы меняем значение в памяти игры:
C++:
std::cout << "На что вы хотите поменять значение: ";
std::cin >> data;
WriteProcessMemory(hnd, (LPVOID)addr, &data, sizeof(nmon), 0);
std::cout<<"Значение изменено!"
system("pause");
Думаю вам был полезен данный гайд!
Последнее редактирование: