Статья Гайд для новичков: Пишем первый простой чит

  • Автор темы Автор темы $1and1
  • Дата начала Дата начала
Очень полезно
 
с
Иногда, играя с какой-нибудь читом, ты думал, Как же его сделали? Смогу ли сделать?
Я попробую показать вам как можно написать простой чит на c++.
Что для этого нужно:
✔️УМЕТЬ РАБОТАТЬ С CHEAT ENGINE(можно посмотреть видео на ютубе если кто не в теме)
✔️VISUAL STUDIO И КАК С НИМ РАБОТАТЬ
В 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");






Думаю вам был полезен данный гайд!
пасибо, очень интересно
 
Для новичков очень полезно кто собирается в Game Hacking
Чтение и запись в память это основная функция что делают все читы
Респект!
Я холтел бы поинтересоваться, зачем сейчас геймхаккинг? Для себя?
Ибо сейчас как то строго с создателями чита обходиться начинают...
Или может кто то конкретно подскажет какие то тонкости фз?
 
спасибо за годноту
 
Очень крутая статья, по сути самая база, причем расписано для людей без опыта
 
Назад
Верх Низ