Какое законное назначение имеет возможность записи в память других процессов и выполнения потоков, существующих в Windows? - PullRequest
0 голосов
/ 15 ноября 2018

Серьезно, VirtualAllocEx, WriteProcessMemory и CreateRemoteThread - все это обеспечивает функциональность, которую на протяжении жизни я не могу понять причину.

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

Мне бы хотелось объяснить, почему подобные вещи разрешены в Windows.

1 Ответ

0 голосов
/ 15 ноября 2018

Я не знаю, считаете ли вы это законной целью или нет, но я использую их для внедрения кода в процессы, которые я запускаю.

Сначала процесс запускается с основным потоком, приостановленным с помощью CreateProcess. Затем параметры для LoadLibrary записываются в память этого процесса, а CreateRemoteThread используется для создания нового потока, вызывающего LoadLibrary.

Теперь вы загрузили свой собственный dll в процесс, который вы запустили, и вы можете возобновить его основной поток.

Это полезно, например, для анализ или изменение поведения программы.

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