Для чтения и записи памяти в другой процесс вам необходимо использовать функции ReadProcessMemory и WriteProcessMemory, предоставляемые kernel32.Если вы используете C #, вам нужно использовать PInvoke для импорта этих функций в ваш текущий процесс.
В общем, вам нужно сделать следующее:
- Определить, какой процессэто то, что вы хотите прочитать / ввести
- Вызовите OpenProcess (), чтобы получить дескриптор процесса.Вы хотите отправить GENERIC_READ |GENERIC_WRITE в качестве флагов для этого, и вы получите обратно HPROCESS, который вам нужно проверить, не NULL.
- Решите, где вы хотите читать из внешнего процесса (это указатель внешнего процесса).Вам также необходимо решить, сколько байтов нужно прочитать.
- Выделите столько байтов в текущем процессе для хранения результата чтения.
- Вызовите ReadProcessMemory, передавая в HPROCESS, который вы открыли,указатель стороннего процесса для чтения из другого процесса, указатель на ваш локальный буфер и число байтов, которые нужно прочитать из стороннего процесса в ваш локальный буфер.
Как только это произойдетГотово, вы можете посмотреть на свой локальный буфер, и вы увидите данные, которые раньше были во внешнем процессе, и жизнь будет хорошей.