Показать сообщение отдельно

  #14  
Старый 22.06.2019, 06:03
LUCHARE
Постоянный
Регистрация: 23.05.2017
Сообщений: 545
С нами: 4723927

Репутация: 158


По умолчанию

круто конечно

жаль что баян (the CreateRemoteThread & WriteProcessMemory technique старше меня)

и перепизжено на разные форумы тысячу раз

Цитата:
Сообщение от SR_team  

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

Цитата:
Сообщение от Rinat_Namazov  

Но адрес библиотеки в разных процессах может и будет отличаться.
Цитата:

Kernel32 is required to be at the same base address because there are a number of internal kernel32 routines that, similar to ntdll!DbgUiRemoteBreakIn, are used in cross-process thread injection. One example of this used to be the console control event handler In the case of console events, during kernel32.dll initialization, the address of the Ctrl-C event dispatcher is passed to WinSrv.dll (in CSRSS space).
...
By the time this change to WinSrv and Ctrl-C processing was made, though, the application compatibility impact of removing the kernel32 base address to be the same system-wide would have been too severe to eliminate the restriction (virtually all third party code injection code now relies heavily on this assumption). Thus, for this (and other) reasons, kernel32 still remains with the restriction that it may not be relocated to a different base address cross-process.
 
Ответить с цитированием