Re[2]: Проблема с CreateRemoteThread при перехвате API
От: Ivan Россия www.rsdn.ru
Дата: 08.04.06 10:00
Оценка: 7 (3)
Здравствуйте, Alter_, Вы писали:

A_>Подозреваю, что из-за того, что SMSS.EXE не является Win32 приложением. Это Native.

A_>А создание Native Thread — операция нетривиальная (на сколько мне известно) и одним вызовом, тем более из Win32, не делается.

CreateRemoteThread не работает для процессов в других терминальных сессиях и для native процессов типа smss. Это связано с тем, что в native процессы не загружена kernel32.dll (а для других терминальных сессий — из-за того, что новые потоки/процессы должны регистрироваться в csrss в текущей сессии).

Создать поток можно при помощи более низкоуровневых функций — NtCreateThread или RtlCreateUserThread. здесь есть пример — http://www.rsdn.ru/Forum/Message.aspx?mid=167206&only=1
Автор: vasketsov
Дата: 08.01.03


В этом случае, он не будет зарегистрирован в csrss и поэтому в нем может не работать часть API функций (в частности из такого потока нельзя создавать процессы и потоки )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.