Здравствуйте, Сергей Мухин, Вы писали:
СМ>ReadProcessMemory
СМ>ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/debug/base/readprocessmemory.htm
У такого способа обращения к чужой памяти 2 недостатка:
1. Нам надо постоянно обращаться к вызовам апи. А я полагаю, что это в десятки раз более медленный процесс, чем прямое обращение к требуемой памяти.
2. Если нас интересует динамический тип данных в памяти чужого процесса (скажем, список), слишком много действий нужно выполнить для проверки валидности полученных данных. Пример:
в памяти чужого процесса есть список: listhead -> {data, next} -> {data, next} -> {data, next}.
{data, next} — элемент списка (структура из двух полей), next указывает на следующий элемент списка.
Допустим, нас интересует всегда последний элемент списка. Тогда, число вызовов РидПроцессМемори будет пропорционально длине этого самого списка.