Answer the question
In order to leave comments, you need to log in
How are third-party applications for games / applications created?
Hello, I have been interested in the topic of reverse engineering for a long time, I have such a question. How do programmers create third-party programs for games or applications? Like cheats. Specifically, I'm interested in the following (everything on the topic, moderators, do not delete the question):
1. What is used to create these third-party programs? What language? I would be glad if you add literature to this language or this topic, I don’t know how to google.
2. How do they work? I read that these hackers need to find a variable or something and change it for their needs. But how does it work? I've seen programs that embed a dynamic library into the game, some didn't, I don't understand how they (programs) "docked" with the program and get everything they need from there.
I would appreciate your answers
Answer the question
In order to leave comments, you need to log in
What is used to create these third party programs? What language?
#include <stdio.h>
#include <windows.h>
int main() {
char cmd[2048];
int var = 5;
printf("%p %d\n", &var, var);
sprintf(cmd, "memchange.exe %lu %x", GetCurrentProcessId(), &var);
system(cmd);
printf("%p %d\n", &a, a);
return 0;
}
#include <stdio.h>
#include <windows.h>
int main(int argc, char **argv) {
DWORD pId;
LPVOID pAddr;
HANDLE pHandle;
SIZE_T bytesWritten;
int newValue = 42;
sscanf(argv[1], "%lu", &pId);
sscanf(argv[2], "%x", &pAddr);
pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pId);
WriteProcessMemory(pHandle, pAddr, &newValue, sizeof(newValue), &bytesWritten);
CloseHandle(pHandle);
fprintf(stderr, "Written %u bytes to process %u.\n", bytesWritten, pId);
return 0;
}
1. Что используется для создания этих сторонних программ? Какой язык? Буду рад если добавите литературу к этому языку или этой теме, гуглить я не умею.
Linux/Windows -если игра локально запускается, а не в браузере - любой язык программирования общего назначения. Исторически сложилось, что чаще С. Но это не обязательно.
В браузере игра если - специфические требования удобнее с JS
Про Android/iOS - не скажу
Чаще патчат прямо в файле исполняемом.
Если хочешь наживую - изучай API для debug.
https://www.unknowncheats.me/forum/index.php
Думаю этот ресурс больше подойдет. Там очень много руководств и примеров.
1. Cheat Engine, ollydbg, с/с++
2. Взаимодействуют с приложением либо внедряясь в его память (internal) либо работая отдельно от него через APi платформы (external).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question