НЕУБИВАЕМЫЙ процесс в Windows NT.

BaRb0S

Местный
Регистрация
6 Дек 2003
Сообщения
47
Реакции
3
Credits
58
Утилиты чтобы сделать любой процесс в Windows2000 неубиваемым а заодно системным!
Как например спай-модули с порнушных сайтов.
Даже под админом processkiller-ом убить не удалось. Вот чтоб так!
Я таких не нашёл! Помогите!
Найду- шапку сменю.
 
K

Kerberos

назови исполняемый файл winlogon.exe / lsass.exe ;)
зы. а хотя может это только под ХР работает....
 

BaRb0S

Местный
Регистрация
6 Дек 2003
Сообщения
47
Реакции
3
Credits
58
Интересно Динилов сделал. Если spider в режиме авто, сам spiderNT.exe убивается, а вот после запуска виря всплывает. Сделан в виде системного драйвера drwebnet.sys, причём тоже останавливается! Блин, где б надыбать как писать системные дрова?
 

ilya_sp

Местный
Регистрация
5 Ноя 2004
Сообщения
212
Реакции
7
Credits
0
Хе :) а чего мучиться? Создать 2 процесса, Каждый из которых проверяет наличие другого и в случае отсутствия запускает его :)
 
E

Egoizte

Не, это не дело. Может человеку надо чтобы он именно не убивался.
 

evil

Турист
Регистрация
30 Апр 2004
Сообщения
15
Реакции
0
Credits
22
Q> Как сделать, чтобы мою прогу нельзя было бы убить?
A> Я не пробовал,но imho от End Task это не спасет

From : Dmitry V. Liseev

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

LRESULT WINAPI WndProc(HWND hWnd, UINT msg,
WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
//HANDLE_MSG(hWnd, WM_CREATE, WndProc_OnCreate);
HANDLE_MSG(hWnd, WM_DESTROY, WndProc_OnDestroy);
//HANDLE_MSG(hWnd, WM_SIZE, WndProc_OnSize);
//HANDLE_MSG(hWnd, WM_COMMAND, WndProc_OnCommand);
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}

void WndProc_OnDestroy(HWND hWnd)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

// Создадим другой процесс, а этот благополучно завершим.
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
CreateProcess(NULL, "program.exe", NULL, NULL,
FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
PostQuitMessage(0);
//return FORWARD_WM_DESTROY(hWnd, DefWindowProc);
}

//кусок из win32api FAQ... В принципе мне помогло в своё время ;)
 

BaRb0S

Местный
Регистрация
6 Дек 2003
Сообщения
47
Реакции
3
Credits
58
2Kerberos
Как оказалось с Windows 2000 DDK не всё так просто. Во-первых 42 метра, во-вторых линка я пока не нашел, в третьих вся эта бойда от Мелкомягких, а от них ничего кроме геммора(инструкцию по использованию столовой ложки раздуют на 4 тома "Войны и Мира").
Прыдзецца спустится на низкоуровневый программинг, типа "Справочника программиста" Роберта Джордейна!
 
K

Kerberos

ilya_sp написал(а):
Хе :) а чего мучиться? Создать 2 процесса, Каждый из которых проверяет наличие другого и в случае отсутствия запускает его :)

не знаю как в W2К но в ХР когда правой клавишей в диспетчере задач щелкаешь по процессу, там кроме "завершить процесс" есть еще и "завершить дерево процессов", т.е. убить все порожденные им :)

BaRb0S написал(а):
Как оказалось с Windows 2000 DDK не всё так просто. Во-первых 42 метра, во-вторых линка я пока не нашел, в третьих вся эта бойда от Мелкомягких, а от них ничего кроме геммора(инструкцию по использованию столовой ложки раздуют на 4 тома "Войны и Мира").
заинсталлил щас себе Win2k DDK, вернее только хелп от него..полистал....одни общии фразы, и картинки типа схема драйверов и прочей мутатени :/

ты лучше скажи зачем тебе делать неубиваемый процесс? может его не обязательно драйвером делать? например можно через CreateRemoteThread внедрить его в explorer.exe, так его вообще в списке процессов не будет видно)
 
Последнее редактирование модератором:

BaRb0S

Местный
Регистрация
6 Дек 2003
Сообщения
47
Реакции
3
Credits
58
Kerberos написал(а):
например можно через CreateRemoteThread внедрить его в explorer.exe, так его вообще в списке процессов не будет видно)
Функция CreateRemoteThread создает поток, который запускается в виртуальном адресном пространстве другого процесса. Дескриптор должен иметь права доступа PROCESS_CREATE_THREAD. Это как минимум Админские. Или нет?
А внедрение в exe-шник dll уже интересно- можно создавать новую тему!
---
Prkiller-ом убиваю сначала smss потом winlogon(если наоборот, то будет завершение ч\з 60 сек, если не успеть убить winlogon), потом можно убить всё
остальное, кроме System, System Idle Process. ДА, если убить csrss, все процессы в памяти вешаются. Ctrl+Shift+~ -горячая клавиша, если кто не нашёл.
----
Это, так,- к слову.
 
Последнее редактирование модератором:
K

Kerberos

по-моему с установкой драйвера гемора больше :) вот там точно права админа нужны :)
а с CreateRemoteThread - не в курсе....

че этот prkiller.rar делает? у меня при запуске ничего не появилось....

--
а вот мой убийца процев (winapi на object pascal) с исходниками