Re[7]: Убили smss.exe - к чему приведет ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 13.01.03 13:22
Оценка: 24 (2)
Здравствуйте, Whisperer, Вы писали:

W>Что меняется в ситеме если она работает без Session Manager (smss.exe) — ну например мы его убили.


Как минимум, новые процессы поддержки подсистем не создаются (после конца загрузки SMSS этим занимается).

Еще можно WINLOGON кильнуть безболезненно (но для этого, как оказалось, SMSS снимать не обязательно, достаточно все хэндлы на процессы в SMSS закрыть, там на WINLOGON и CSRSS только).

По идее, это еще Session Manager, с этим тоже облом будет, с сессиями, то есть.

В однопользовательской системе, если POSIX-ов всяких нет и если NTVDM все обучены в одном процессе запускаться — фактически — все как работало, так и работает. Моя имха такая, если и ошибся, то, надеюсь, несильно.
Васкецов Сергей
http://registry.km.ru
Re[8]: Как установить хук н CSRSS.exe ??
От: Alex Fedotov США  
Дата: 13.01.03 09:54
Оценка: 8 (1)
Здравствуйте, SergH, Вы писали:

SH>Driver Development Kit. Искать на сайте MS. Для разных Wind-ов разные DDK, свободно распространяются все, кроме XP.


Все, кончились бесплатные DDK. Теперь есть только один Windows DDK, который распространяется на CD. Сам диск, как написано на сайте, бесплатный, а деньги берутся только за пересылку. Пересылка, должен сказать, a little bit overpriced.
-- Alex Fedotov
Re[5]: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 13.01.03 09:46
Оценка: 4 (1)
А>>Но и в smss.exe и в csrss мне тоже удавалось загружать свою библиотеку через CreateRemoteThread
V>Проверю дома, уж больно сказочно звучит.
V>Проверять буду просто: CreateRemoteThread(ZwClose), закроется хэндл — круто.

Проверил на Windows 2000 AS + SP3.
Все как и предполагалось (я когда-то это уже пытался делать, вот снова решил проверить, дабы развеять сомнения).

1) Брал привилегии.

2) Открывался процесс с правами доступа PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION. Тут все OK.

3) CreateRemoteThread(hProcess,0,0,(LPTHREAD_START_ROUTINE)&ZwClose,(PVOID)wcstoul(argv[2],0,10),0,0);
argv[1] — был идентификатор процесса, потому тут — 2.
Вот тут начались приколы.
Если CSRSS или WINLOGON или еще чего — все нормально отрабатывало.
Если SMSS — возвращается NULL, а GetLastError() дает 8 (при чем тут именно 8 — не ясно).

Потому возможность успешного вызова CreateRemoteThread для NATIVE-процессов мне кажется нереальной (возможно, из-за уведомления CSRSS о новом потоке), а я сам для загрузки потока в SMSS использую RtlCreateUserThread.
Васкецов Сергей
http://registry.km.ru
Как установить хук на CSRSS.exe ??
От: Аноним  
Дата: 10.01.03 15:03
Оценка:
Здравствуйте, Уважаемые. У меня возникла проблема, нужно перехватить
появление окна в системе (и закрыть его)... я использую глобальный хук
(WH_CBT)... окна вылезают из потоков сиспроцесса CSRSS.EXE .. проблема в том, что я не могу загрузить мою dll а адресное пространство именно этого процесса ..
хотя для других процессов моя dll работает без проблем (появления их окошек перехватываются)...
чего я только
не делал:
1. прописывал в реестре автозагрузку dll (... AppInit_DLLs) ... результат —
моя dll загружается в адресное пространство всех тех процессов на которые спроецирован модуль User32.dll , .. хотя CSRSS.EXE тоже его использует .. на него это не влияет (

2. устанавливал хук в системе из приложения, которое имело права отладчика
(т.е. имело право просматривать системные процессы)

// Enabling the debug privilege allows the application to see
// information about service applications
BOOL fOk = FALSE; // Assume function fails
HANDLE hToken;

// Try to open this process's access token
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES,
&hToken)) {

// Attempt to modify the "Debug" privilege
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;
AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
fOk = (GetLastError() == ERROR_SUCCESS);
CloseHandle(hToken);
}

...........
но ничего не помогает .....
если кто-нибудь поможет .... буду ОЧЕНЬ признателен
...

Thanks,
Denis
Re: Как установить хук на CSRSS.exe ??
От: SergH Россия  
Дата: 10.01.03 15:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Уважаемые. У меня возникла проблема, нужно перехватить

А>появление окна в системе (и закрыть его)... я использую глобальный хук
А>(WH_CBT)... окна вылезают из потоков сиспроцесса CSRSS.EXE .. проблема в том, что я не могу загрузить мою dll а адресное пространство именно этого процесса ..
А>хотя для других процессов моя dll работает без проблем (появления их окошек перехватываются)...
А>чего я только
А> не делал:
[skip]

Попробуй CreateRemoteThread.
Делай что должно, и будь что будет
Re: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 10.01.03 15:23
Оценка:
Здравствуйте, Аноним, Вы писали:

А> 1. прописывал в реестре автозагрузку dll (... AppInit_DLLs) ... результат -

Факт известный, так и задумано, в CSRSS эти модули не грузятся, грузить надо руками.
Так как там есть kernel32.dll, то CreateRemoteThread вполне должно справиться, если нет — я недавно писал код как процессы создаются, он на форуме с исходниками, он точно сработает, я так сам делаю, даже для SMSS.

А> 2. устанавливал хук в системе из приложения, которое имело права отладчика

Хуки тут отдыхают.

Вообще говоря, окошко могло создаться и из ядра, также как в адресном пространстве CSRSS бывают и нормальные, и "ядерные" потоки. Так что не факт что перехватишь, если user32.dll будешь править.
Васкецов Сергей
http://registry.km.ru
Re: Как установить хук на CSRSS.exe ??
От: Sergey Ten http://www.fastalgo.com
Дата: 10.01.03 15:41
Оценка:
А это разве не сервис? Если это сервис, то он выполняется в другой WindowStation. Оконные сообщения между WindowStation-ами не ходят, так что ваша программа, работающая в WinSta0, не перехватит сообщения от Service-0x0-3e7$ (WindowStation для сервисов, выполняющихся под системным аккаунтом).

Если так, то придется писать межпроцессорное взаимодействие, основанное не на оконных сообщениях, а на чем-то другом, например, именованных каналах. Но dll внедрять придется все равно, и даже CreateRemoteThread в случае сервиса бывает бессилен. Я сделал так:

— В своей программе создаю временный сервис и стартую его под системным аккаунтом (нужны админские права)
— Сервис стартует, и он уже занимается внедрением dll в адреснов пространство посредством CreateRemoteThread. Так как мой сервис сидит в той же WindowStation + Desktop-е, здесь проблем нет.
— После того, как dll успешно внедрена, сервис удаляет себя из базы данных сервисов и завершает работу. Никто и не заметил, шо це було

Вопследствии моя программа и внедренная DLL общаются через named pipe.

Примерно та же идея реализована у Марка Руссиновича в его утилите PsExec. Реализацию идеи можно посмотреть и на http://www.codeguru.com/network/xCmd.html
Re[2]: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 10.01.03 15:50
Оценка:
Здравствуйте, Sergey Ten, Вы писали:

ST>А это разве не сервис?

Нет.

ST>и даже CreateRemoteThread в случае сервиса бывает бессилен.

Не верю. Факты пожалуйста. Пока что мне удавалось в любое Win32-приложение загружать код через CreateRemoteThread.
Васкецов Сергей
http://registry.km.ru
Re[3]: Как установить хук на CSRSS.exe ??
От: Sergey Ten http://www.fastalgo.com
Дата: 10.01.03 15:58
Оценка:
Здравствуйте, vasketsov, Вы писали:


V>Не верю. Факты пожалуйста. Пока что мне удавалось в любое Win32-приложение загружать код через CreateRemoteThread.


Мне это не удалось сделать для Oracle. В то же время в юзерские процессы все внедрялось без проблем.
Re[3]: Как установить хук на CSRSS.exe ??
От: Аноним  
Дата: 10.01.03 16:00
Оценка:
Вообще говоря Csrss не приложение Win32, а как раз и есть подсистема Win32 (это правда к сути дела не относится).
Но и в smss.exe и в csrss мне тоже удавалось загружать свою библиотеку через CreateRemoteThread (короче методом М. Руссиновича).
Re[4]: Как установить хук на CSRSS.exe ??
От: SergH Россия  
Дата: 10.01.03 16:00
Оценка:
Здравствуйте, Sergey Ten, Вы писали:

ST>Мне это не удалось сделать для Oracle. В то же время в юзерские процессы все внедрялось без проблем.


А небось прав не хватало. Ошибка какая была?
Делай что должно, и будь что будет
Re[5]: Как установить хук на CSRSS.exe ??
От: Sergey Ten http://www.fastalgo.com
Дата: 10.01.03 16:07
Оценка:
Здравствуйте, SergH, Вы писали:

SH>А небось прав не хватало. Ошибка какая была?

CreateRemoteThread возвращался без ошибки, как и все ему предшествующее (VirtualAllocEx, WriteProcessMemory). Но, возможно, ты прав, надо будет посмотреть еще раз.
Re[4]: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 10.01.03 16:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вообще говоря Csrss не приложение Win32, а как раз и есть подсистема Win32 (это правда к сути дела не относится).

Как раз это существенно.
Подсистема для CSRSS действительно 1, то есть, NATIVE.

А>Но и в smss.exe и в csrss мне тоже удавалось загружать свою библиотеку через CreateRemoteThread

Проверю дома, уж больно сказочно звучит.
Проверять буду просто: CreateRemoteThread(ZwClose), закроется хэндл — круто.

А>(короче методом М. Руссиновича).

Это как? Что за метод? Если тот что по ссылке — то при чем тут сервисы?
Васкецов Сергей
http://registry.km.ru
Re[5]: Как установить хук на CSRSS.exe ??
От: Sergey Ten http://www.fastalgo.com
Дата: 10.01.03 16:24
Оценка:
Здравствуйте, vasketsov, Вы писали:

V>Это как? Что за метод? Если тот что по ссылке — то при чем тут сервисы?


Ссылка к сервисам имеет следующее отношение: в той утилите, на которую кажет ссылка, есть ресурс RC_DATA, который и представляет из себя код сервиса. При запуске удаленной команды этот ресурс читается и сбрасывается во временный файл, который и становится временным сервисом. Но к обсуждению CreateRemoteThread это не имеет отношения.
Re[6]: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 10.01.03 16:31
Оценка:
Здравствуйте, Sergey Ten, Вы писали:

ST>Но к обсуждению CreateRemoteThread это не имеет отношения.

Я об этом же.
Васкецов Сергей
http://registry.km.ru
Re[5]: Как установить хук на CSRSS.exe ??
От: Small  
Дата: 10.01.03 16:40
Оценка:
А>>Но и в smss.exe и в csrss мне тоже удавалось загружать свою библиотеку через CreateRemoteThread
V>Проверю дома, уж больно сказочно звучит.
V>Проверять буду просто: CreateRemoteThread(ZwClose), закроется хэндл — круто.

А что собираешься закрывать то. Код для внедрения в smss.exe могу и поискать если очень нужен. Нужно всего лишь включить привилегию отладки.

А>>(короче методом М. Руссиновича).

V>Это как? Что за метод? Если тот что по ссылке — то при чем тут сервисы?

Внедрение описано в небезизвестной книге Руссиновича (ссылку не сотрел)
Вкратце. Открываем удаленный процесс. Выделяем в нем регион памяти, в которую записываем имя внедряемой библиотеки. Запускаем в удаленном процессе поток с функцией LoadLibrary, которой в качестве параметра передаем адрес выделенного региона. Ждем GetExitCodeThread код возврата — который есть адрес загрузки нашей библиотеки. Имея ее адрес можем запускать из нее любую функцию.

Причем тут сервисы не знаю.
Re[6]: Как установить хук на CSRSS.exe ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 10.01.03 16:47
Оценка:
Здравствуйте, Small, Вы писали:

V>>Проверять буду просто: CreateRemoteThread(ZwClose), закроется хэндл — круто.

S>А что собираешься закрывать то.
А пофигу, найду чего, у меня есть свой работающий TaskEx, им и погляжу что закрыть можно.
НАпример, хэндлы на CSRSS и Winlogon закрою.

S>Вкратце. Открываем удаленный процесс. Выделяем в нем регион памяти, в которую записываем имя внедряемой библиотеки. Запускаем в удаленном процессе поток с функцией LoadLibrary, которой в качестве параметра передаем адрес выделенного региона. Ждем GetExitCodeThread код возврата — который есть адрес загрузки нашей библиотеки. Имея ее адрес можем запускать из нее любую функцию.


В smss НЕ грузится kernel32.dll, потому LoadLibrary там нет. Там надо делать через LdrLoadDll. В этом у меня и был вопрос, а Ваш ответ как раз и проясняет, делали Вы это реально для SMSS или нет.
Васкецов Сергей
http://registry.km.ru
Re[7]: Как установить хук на CSRSS.exe ??
От: Small  
Дата: 10.01.03 17:07
Оценка:
Здравствуйте, vasketsov, Вы писали:

> НАпример, хэндлы на CSRSS и Winlogon закрою.

Взять адрес через иду описателя Winlogon что-ли — прокатит конечно, но жди синего экрана.

> В smss НЕ грузится kernel32.dll, потому LoadLibrary там нет. Там надо делать

> через LdrLoadDll. В этом у меня и был вопрос, а Ваш ответ как раз и проясняет,
> делали Вы это реально для SMSS или нет.

Да ты прав с smss.exe лажа вышла — я ошибся делал для csrss в нем точно kernel32 есть (и потому все проходило). для smss.exe придется делать черз LdrLoadDll — суть дела это не меняет — должно прокатить.
Re: Как установить хук на CSRSS.exe ??
От: Аноним  
Дата: 11.01.03 07:07
Оценка:
Ребята, спасибо ОГРОМНОЕ за помощь !!!!

Denis
Re: Как установить хук на CSRSS.exe ??
От: Аноним  
Дата: 11.01.03 09:29
Оценка:
ААААААААААА народ , СПАСАЙТЕ ....!!!
это опять я ....
Такая же проблема в Windows 98 ...
не могу внедрить свой хук в адресное пространство процесса ..
только тут не знаю в какой процесс нужно внедрять ... глобальный хук не перехватывает создание окна ... значит процесс системный ...
(OKI принтер драйвер ...) и как узнать список системных задач запeщенных под Windows 98 (и какие они модули используют ... в win98 Task Meneger'а нету )
Re: Как установить хук н CSRSS.exe ??
От: Valerio Россия linkedin.com/in/boronin
Дата: 11.01.03 11:26
Оценка:
я не думаю что OKI Printer driver это системный процесс
я думаю что это OKI Printer driver control application ты видишь...
короче тебе нужно слить с www.iarsn.com TaskInfo2003 и все посмотреть самому
прежде чем кипяшиться
там тебе и покажут процесс куда надо внедрять хук, ИМХО
You wrote on Sat, 11 Jan 2003 09:29:49 GMT:
> From: Оценить
> ААААААААААА народ , СПАСАЙТЕ ....!!!
> это опять я ....
> Такая же проблема в Windows 98 ...
> не могу внедрить свой хук в адресное пространство процесса ..
> только тут не знаю в какой процесс нужно внедрять ... глобальный хук
> не перехватывает создание окна ... значит процесс системный ...
> (OKI принтер драйвер ...) и как узнать список системных задач
> запeщенных под Windows 98 (и какие они модули используют ... в win98
> Task Meneger'а нету )
With best regards, Valery A. Boronin. E-mail: boronin@novosoft.ru
Posted via RSDN NNTP Server 1.4.1
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Как установить хук н CSRSS.exe ??
От: Myckyc  
Дата: 11.01.03 12:44
Оценка:
Здравствуйте, Valerio, Вы писали:

V>я не думаю что OKI Printer driver это системный процесс

V>я думаю что это OKI Printer driver control application ты видишь...
V>короче тебе нужно слить с www.iarsn.com TaskInfo2003 и все посмотреть самому
V>прежде чем кипяшиться
V>там тебе и покажут процесс куда надо внедрять хук, ИМХО
V>You wrote on Sat, 11 Jan 2003 09:29:49 GMT:
V>With best regards, Valery A. Boronin. E-mail: boronin@novosoft.ru



Этот процесс — Spooler Sub System Process ...

Если не системный, то почему глобал хук на него срабатывает?


V>там тебе и покажут процесс куда надо внедрять хук, ИМХО


А хук вешается не на процесс а на его поток .... а если spooler создаст новый поток и там выведет сообщение..?
Re[3]: Как установить хук н CSRSS.exe ??
От: Myckyc  
Дата: 11.01.03 12:46
Оценка:
Ой очичатка ...

Глобал хук на Spooler Sub System Process ...
НЕЕЕЕЕЕЕЕ!!! срабатывает
Re[3]: Как установить хук н CSRSS.exe ??
От: Valerio Россия linkedin.com/in/boronin
Дата: 11.01.03 12:57
Оценка:
Здравствуйте, Myckyc, Вы писали:

Spooler Sub System Process и OKI Printer driver это две большие разницы, верно?
этого же не было ясно из поста... сказал бы мол spoolsv и точка

а что не говорит в плане ошибки?

не знаю с какими целями тебе нужно внедриться в именно этот процесс

по поводу слежения за спулером и его деятельностью, есть вариант написать драйвер фильтрующий всю активность между системой и движком печати, используется тот же подход что и при фильтрации GDI (mirror driver sample from DDK).

суть — все GDI API которым ты будешь рисовать на контексте печати будет проходить через твой драйвер и ты уже решаешь что с этим делать.

если же у тебя другие цели, вроде отлова текста сообщения, поделись, может подскажет кто в чем дело

M>Этот процесс — Spooler Sub System Process ...


M>Если не системный, то почему глобал хук на него срабатывает?


M>

V>>там тебе и покажут процесс куда надо внедрять хук, ИМХО

M>А хук вешается не на процесс а на его поток .... а если spooler создаст новый поток и там выведет сообщение..?
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[4]: Как установить хук н CSRSS.exe ??
От: Myckyc  
Дата: 11.01.03 14:28
Оценка:
Здравствуйте, Valerio, Вы писали:

V>Здравствуйте, Myckyc, Вы писали:


V>Spooler Sub System Process и OKI Printer driver это две большие разницы, верно?

V>этого же не было ясно из поста... сказал бы мол spoolsv и точка

V>а что не говорит в плане ошибки?


V>не знаю с какими целями тебе нужно внедриться в именно этот процесс


V>по поводу слежения за спулером и его деятельностью, есть вариант написать драйвер фильтрующий всю активность между системой и движком печати, используется тот же подход что и при фильтрации GDI (mirror driver sample from DDK).


V>суть — все GDI API которым ты будешь рисовать на контексте печати будет проходить через твой драйвер и ты уже решаешь что с этим делать.


V>если же у тебя другие цели, вроде отлова текста сообщения, поделись, может подскажет кто в чем дело


Спасибо, Valerio, что обратили внимание на мой вопрос ...

Сейчас обьясню по подробнее ... из драйвера оки, а именно:
— если под W2k и WINNT ,то из процесса CSRSS.EXE;
— если под Win98 ,то из процесса Spooler Sub System Process
вылезает сообщение .. типа мало тонера .. при печати ... операторы нервничают .. средствами OKI Монитора сообщение убирается, но через некоторое время вылезает опять .. (

под W2k внедряестя в адресное пространство CSRSS.exe модуль с хуком
с помощью CreateRemoteThread ... под Win98 ... этой функции нет
... (
что делать..
Re[5]: Как установить хук н CSRSS.exe ??
От: Valerio Россия linkedin.com/in/boronin
Дата: 11.01.03 15:16
Оценка:
skip

M>Спасибо, Valerio, что обратили внимание на мой вопрос ...

всегда рад помочь, особенно если это оценится, например таким вежливым ответом

M>Сейчас обьясню по подробнее ... из драйвера оки, а именно:

M>- если под W2k и WINNT ,то из процесса CSRSS.EXE;
M>- если под Win98 ,то из процесса Spooler Sub System Process
M> вылезает сообщение .. типа мало тонера .. при печати ... операторы нервничают .. средствами OKI Монитора сообщение убирается, но через некоторое время вылезает опять .. (

M>под W2k внедряестя в адресное пространство CSRSS.exe модуль с хуком

M>с помощью CreateRemoteThread ... под Win98 ... этой функции нет
M>... (
M> что делать..

заинтересовали проблемой, отвлекся и все же нашел решение, чутье не обмануло надеюсь

коротко говоря решение здесь где-то в районе printer monitor
(в разделе Customizing Print Spooler Components — неплохо звучит да?!
как раз кажется для Вас)

примеры есть в WinDDK, конкретно смотрите \src\print\monitors\
и топики language and port monitors in the DDK

там точно есть что-то типа PORT_STATUS_TONER_LOW, см исходники
---
это простой вариант, если чистое Win32.. может быть так пойдет по-быстрому:
висит себе фоновый процесс-монитор который следит за появлением окошка в процессе spoolsv (non zero HWND count is criterion) и затем пытается понять это твое окно с сообщением о тонере или нет. вероятно Вы и пытались поставить хуки для отслеживания появления окна (насчет что хук поставить невозможно совершенно утверждать не буду, это к Васкецову и Ко).

Можно не пытаться ставить хуки а просто считать кол-во хэндлов окошек и пытаться
определить плохое ли это окно по-другому. Как? возможны варианты начиная с WM_GETTEXT и сверки заголовка окна, если ты затачиваешь под конкретное приложение конкретной версии.

А проверять по таймеру тому же.. Вряд ли за 3-5 сек если окно появится и исчезнет пользователь будет сильно нервничать, а ведь можно еще какой-нибудь ему стиль окна SW_HIDE подсунуть при первом появлении и так и оставить, не знаю деталей у Вас.

удачи, напишите к чему пришли
Валерий
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[6]: Как установить хук н CSRSS.exe ??
От: Myckyc  
Дата: 11.01.03 15:37
Оценка:
Здравствуйте, Valerio, Вы писали:

V>skip


M>>Спасибо, Valerio, что обратили внимание на мой вопрос ...

V>всегда рад помочь, особенно если это оценится, например таким вежливым ответом

V>заинтересовали проблемой, отвлекся и все же нашел решение, чутье не обмануло надеюсь


V>коротко говоря решение здесь где-то в районе printer monitor

V>(в разделе Customizing Print Spooler Components — неплохо звучит да?!
V>как раз кажется для Вас)
.......................
........................

V>удачи, напишите к чему пришли

V>Валерий

У меня несколько вопросов:
1. V> ... висит себе фоновый процесс-монитор который следит за появлением окошка в процессе spoolsv (non zero HWND count is criterion) ...
Это в смысле по таймеру запускать FindWindow ?? ... (к стати я пробовал, работает .. но идея с таймером
не стильно как-то ...душа хочет сразу ... в принципе если ничего не получится так и сделаю ...

2. V>... а ведь можно еще какой-нибудь ему стиль окна SW_HIDE подсунуть при первом появлении и так и оставить.

А что есть способ сделать окно чужого?! приложения SW_HIDE ??

3. V>коротко говоря решение здесь где-то в районе printer monitor
V>(в разделе Customizing Print Spooler Components — неплохо звучит да?!
V>как раз кажется для Вас)
V>примеры есть в WinDDK, конкретно смотрите \src\print\monitors\
V>и топики language and port monitors in the DDK

Что такое WinDDK .. и где искать ...?

Сорри за навязчивость.

Спасибо,
Денис
Re[7]: Как установить хук н CSRSS.exe ??
От: SergH Россия  
Дата: 11.01.03 15:41
Оценка:
Здравствуйте, Myckyc, Вы писали:

M> У меня несколько вопросов:

M> А что есть способ сделать окно чужого?! приложения SW_HIDE ??

ShowWindow(hwnd, SW_HIDE) работает без проблем. Точнее, должно. Насколько я помню, я не проверял.

M> Что такое WinDDK .. и где искать ...?


Driver Development Kit. Искать на сайте MS. Для разных Wind-ов разные DDK, свободно распространяются все, кроме XP.
Делай что должно, и будь что будет
Re[7]: Как установить хук н CSRSS.exe ??
От: Valerio Россия linkedin.com/in/boronin
Дата: 11.01.03 15:50
Оценка:
skip

M> Это в смысле по таймеру запускать FindWindow ?? ... (к стати я пробовал, работает .. но идея с таймером

M> не стильно как-то ...душа хочет сразу ... в принципе если ничего не получится так и сделаю ...

да некрасиво я предупредил... зато быстро, "дешево и сердито" а как еще?

M>2. V>... а ведь можно еще какой-нибудь ему стиль окна SW_HIDE подсунуть при первом появлении и так и оставить.

M> А что есть способ сделать окно чужого?! приложения SW_HIDE ??

конечно!!! если хэндл окна нашел то ему стиль даже менять не надо, вызови ShowWindows(SW_HIDE)/UpdateWindow и порядок!

M>3. V>коротко говоря решение здесь где-то в районе printer monitor

M> V>(в разделе Customizing Print Spooler Components — неплохо звучит да?!
M> V>как раз кажется для Вас)
M> V>примеры есть в WinDDK, конкретно смотрите \src\print\monitors\
M> V>и топики language and port monitors in the DDK

M> Что такое WinDDK .. и где искать ...?

это Driver Development Kit — раньше (до октября) был доступен для скачивания с МС
www.microsoft.com/ddk

сейчас опять только в подписке МСДН но это не большая проблема, тем более что есть МСДН онлайн, а примеры можно выслать

боюсь что тогда вариант с драйвером будет тяжел для Вас, но с другой стороны все исходники есть и если есть время освоить что-то новое страшное и неизвестное — вперед!
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[6]: Убили smss.exe - к чему приведет ??
От: Whisperer  
Дата: 13.01.03 13:10
Оценка:
Здравствуйте, vasketsov, Вы писали:

Что меняется в ситеме если она работает без Session Manager (smss.exe) — ну например мы его убили.
Мне интересны последствия ... Скажу сразу Windows работат нормально и я не замечаю каких либо изменений.

Вопрос — vasketsov именно к Вам.
Re[8]: Убили smss.exe - к чему приведет ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 14.01.03 07:26
Оценка:
Здравствуйте, vasketsov, Вы писали:

Все таки кое-где ошибся, исправляюсь где могу и добавляю что еще (не)будет.

1) NTVDM для WOW и DOS запускается явно, код, читающий из реестра из WOW параметры ее запуска, вызывается из CreateProcess. То есть, тут SMSS не работает.

2) У него есть определенные отладочные интерфейсы (порты \DbgSsApiPort и \DbgUiApiPort), которые также не будут работать (правда, внутри SMSS отладка реализуется AFAIK фактически как отдельная подсистема).
Васкецов Сергей
http://registry.km.ru
Re[9]: Убили smss.exe - к чему приведет ??
От: Whisperer  
Дата: 14.01.03 08:00
Оценка:
Здравствуйте, vasketsov, Вы писали:

Ну как я понял — Главная потеря — это взаимодействие отладчиков с приложениями, так как smss выступает в роли коммутатора и монитора при отладке.

ИМХО — если снести smss — мы повысим защищенность системы ))
Re[10]: Убили smss.exe - к чему приведет ??
От: vasketsov Россия http://ntprog.by.ru
Дата: 14.01.03 08:08
Оценка:
Здравствуйте, Whisperer, Вы писали:

W>ИМХО — если снести smss — мы повысим защищенность системы ))

Да, особенно если вспомнить dbgXploit
Васкецов Сергей
http://registry.km.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.