Как работает Cheat O'Matic? - PullRequest
10 голосов
/ 11 мая 2009

Как эта программа получает доступ к памяти других процессов? Как он может записать в адресное пространство другого процесса? Разве это не должно быть сегфо или что-то еще?

Ответы [ 2 ]

15 голосов
/ 11 мая 2009

Программа с системным уровнем привилегий способна отображать физические адреса в свой виртуальный адрес.

Cheat O'Matic (и poke ) отображают физический адрес любой программы, которую он пытается сканировать, в собственное виртуальное пространство.

Как только это будет сделано, он сканирует все байты для целевого значения, которое вы вводите. Он изолирует правильный адрес памяти, запрашивая у пользователя изменение адреса на известные значения, и в основном выполняет различие между старой и новой памятью, чтобы найти изменения.

1 голос
/ 11 мая 2009

Один из способов сделать это - внедрить DLL (Google для «Dll инъекций») в адресный процесс, за которым вы хотите следить: эта DLL затем находится внутри процесса и может что-то делать с памятью процесса. Шпионский процесс может использовать метод межпроцессного взаимодействия (каналы, сокеты, что угодно) для связи с DLL, которую он внедрил в другой процесс.

Внедрение DLL требует прав администратора (например, для установки соответствующей записи в системном реестре).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...