Основна функція, яка буде робити всю роботу - це WriteProcessMemory. Звернемося до microsoft і подивимося, що вони пишуть про параметри цієї функції:
HWND hwnd;
hwnd = FindWindow (NULL, «D3D9 Test»); // тут заголовок вікна гри
DWORD pid; // цієї id гри
GetWindowThreadProcessId (hwnd, pid);
HANDLE me_handle = OpenProcess (PROCESS_ALL_ACCESS, 0, pid);
Тепер у нас є, все що нам потрібно, визначимо байти і викличемо WriteProcessMemory:
byte mebyte [6] = <0x90, 0x90, 0x90, 0x90, 0x90, 0x90>;
WriteProcessMemory (me_handle, (void *) 0x401b11, mebyte, 6, 0);
Ось так виглядає весь код чита:
Тепер давайте його перевіримо, запустимо піддослідну програму д3д тест і наш чит:
Як бачимо, ми змогли поміняти байти в потрібному для нас місці.
За допомогою такого методу можна зламувати прості оффлайн гри. Якщо в грі варто більш менш нормальний антічит. то такий спосіб не спрацює, для цього потрібно програму допрацьовувати.
На цьому все, якщо що, задавайте питання, постараюся відповісти.
Теж цікаво:- Як зробити нескінченні життя, гроші або патрони в грі
- Чи вигідні розробникам онлайн ігор Чітери?
- Як працює система захисту в Crossfire
- Принцип роботи читов