Как возможно получить доступ к памяти других процессов?

Я думал, что каждый обрабатывает, не может считать память другого процесса. Но я потрясен видеть приложение под названием "WinHex", который имеет "Редактора Поршня", и он в состоянии получить доступ ко всей памяти. из всех процессов.

Как это возможно? И это даже в состоянии изменить память других процессов. Разве это не становится злонамеренным?

26
задан itowlson 1 January 2010 в 22:14
поделиться

5 ответов

Ну, это одна из вещей, которые может сделать процесс с правильными привилегиями, предоставленными операционной системой. Процессы не могут получить доступ к памяти других процессов в принципе. На практике лежащая в основе операционная система обычно предлагает этот механизм привилегированным процессам.

3
ответ дан 28 November 2019 в 07:52
поделиться

Если вы работаете от имени Администратора, вы можете получить привилегии на чтение всей памяти; похоже, что WinHex делает это от вашего имени.

Вы пробовали это на более ограниченной учетной записи?

0
ответ дан 28 November 2019 в 07:52
поделиться

Скорее всего, инструмент использует ReadProcessMemory или какой-нибудь вариант, требующий доступа PROCESS_VM_READ.

Что касается вашего "вредоносного" комментария, помните, что вы (или процесс, вызывающий этот API, которому, скорее всего, нужны права администратора) уже имеете полный контроль над машиной. На данный момент игра в безопасность уже проиграна

.
24
ответ дан 28 November 2019 в 07:52
поделиться

Я думаю, что он использует какую-то технику инъекции DLL.

См. http://en.wikipedia.org/wiki/DLL_injection для получения дополнительной информации

.
0
ответ дан 28 November 2019 в 07:52
поделиться

Доступ к памяти другого процесса - кусок кека.
Можно даже использовать Windows Driver Kit для доступа и изменения всего .

Посмотрите, например, руткиты , чтобы увидеть, как хрупкая операционная система, если не ограничивать привилегии программ.

.
2
ответ дан 28 November 2019 в 07:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: