мы можем перебазировать kernel32.dll?такой, что адрес загрузки отличается для двух процессов - PullRequest
2 голосов
/ 18 июля 2011

В частности, я хочу знать, может ли адрес загрузки kernel32.dll различаться для двух процессов в одном сеансе?Я хочу использовать поток createremote, поэтому просто хотел узнать, может ли адрес загрузки kernel32 в удаленном процессе отличаться от процесса внедрения в любом сценарии?

Ответы [ 2 ]

0 голосов
/ 20 июня 2012

Системные библиотеки DLL загружаются по случайным адресам (ASLRed) по соображениям безопасности, поэтому удаленный злоумышленник не может угадать, где в памяти находятся фрагменты кода в вашей системе (т.е. удаленные злоумышленники не могут угадать указатели на вашем компьютере).

Это происходит один раз за загрузку, и, следовательно, kernel32 будет загружаться по одному адресу во все процессы в вашей системе.

0 голосов
/ 18 июля 2011

Kernel32.dll имеет один и тот же базовый адрес для всех процессов, что позволяет делать именно то, что вы хотите.Прочитайте: Почему определенные библиотеки DLL должны иметь один и тот же базовый адрес для всей системы?

...