Как изменить значение в памяти другого процесса
Если бы вы могли помочь мне с этой дилеммой, у меня есть. Теперь я знаю C \ C++, я знаю asm, я знаю о внедрении dll, я знаю об адресации виртуальной памяти, но я просто не могу понять, как программному обеспечению, например CheatEngine и другим, удается изменить значение переменной в другом процессе.,
Для тех, кто не знает, сторонние инструменты чит-движка могут сканировать значения в области памяти программы и определять местоположение переменной с заданным значением и изменять его.
У меня вопрос, как они это делают?
Учитывая адрес, если бы я должен был написать код на C, как я мог бы изменить значение по этому адресу, принадлежащему другому процессу, не получив ошибку неверной адресации?
Благодарю.
4 ответа
Я вполне уверен, что эти программы притворяются отладчиками. В Windows я бы начал с DebugActiveProcess() и пошел оттуда.
Да, и очень полезная функция ReadProcessMemory() (и WriteProcessMemory()).
Вы не можете сделать это со стандартным C или C++ - вы должны использовать специфические функции операционной системы. Поэтому вы должны сообщить нам, какая ОС вас интересует.
Вы также можете быть заинтересованы в обходах:
Программное обеспечение для обхода Win32 и прикладных API.