Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неубиваемые программы, как сделать? 
:(
    Опции темы
Sunvas
Дата 9.5.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Как сделать неубиваемое приложение (т.е. приложение, которое нельзя было бы убить средствами винды)? Будут идеи?


ЗЫ 
Также очень нужно и другие программы (например Блокнот) сделать некиляемыми. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Cheburek
Дата 9.5.2006, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 26.3.2006

Репутация: 1
Всего: 1



В голову только хук пришел 
PM MAIL   Вверх
vood
Дата 9.5.2006, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 23.2.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Обрабатывай сообщение wm_quit ,событие формы close(IMXO)  


--------------------
Вы все еще курите ? Тогда мы идем к вам
 
PM MAIL ICQ   Вверх
SoWa
Дата 9.5.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Делай программу сервисом и ставь ему особо крутые привиллегии. И не кильнешь ничем... Так Касперский делает.
Зарегистрировать другую программу как сервис тоже можно.
Код

Функции для создавания и удаления NT Services.
Можно создать NT Service от текущее приложение. Параметры:
1. CreateNTService(ExecutablePath,ServiceName: String)
ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service
ServiceName - Имя сервиза которое отобразится в Service Control Manager
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то
GetLastError чтобы информироваться об естество ошибки
2. DeleteNTService(ServiceName: String):boolean;
ServiceName - имя сервиза подлежающии удаления
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то GetLastError чтобы
информироваться об естество ошибки

Зависимости: WinSVC, Windows
Автор:       Alex Kantchev, [email protected]
Copyright:   Собственное написание
Дата:        19 июня 2002 г.
***************************************************** }

// CreateNTService(ExecutablePath,ServiceName: String)
// ExecutablePath - Полный путь к изполнимого файла от
// которого создавается NT Service
// ServiceName - Имя сервиза которое отобразится
// в Service Control Manager Результат:
//Результат:
// true - если операциая завершена успешно
// false - если есть ошибка. Можно произвести
// call то GetLastError чтобы информироваться об
// естество ошибки

function CreateNTService(ExecutablePath, ServiceName: string): boolean;
var
  hNewService, hSCMgr: SC_HANDLE;
  // Rights: DWORD;
  FuncRetVal: Boolean;
begin
  FuncRetVal := False;
  hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
  if (hSCMgr <> 0) then
  begin
    //Custom service access rights may be built here
    //we use GENERIC_EXECUTE which is combination of
    //STANDARD_RIGHTS_EXECUTE, SERVICE_START, SERVICE_STOP,
    //SERVICE_PAUSE_CONTINUE, and SERVICE_USER_DEFINED_CONTROL
    //You can create own rights and use them as shown in the
    //commented line below.

    //Rights := STANDARD_RIGHTS_REQUIRED or SERVICE_START or SERVICE_STOP
    // or SERVICE_QUERY_STATUS or SERVICE_PAUSE_CONTINUE or
    // SERVICE_INTERROGATE;

    hNewService := CreateService(hSCMgr, PChar(ServiceName), PChar(ServiceName),
      STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS,
      SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
      PChar(ExecutablePath), nil, nil, nil, nil, nil);
    CloseServiceHandle(hSCMgr);
    if (hNewService <> 0) then
      FuncRetVal := true
    else
      FuncRetVal := false;
  end;
  CreateNTService := FuncRetVal;
end;

// ***

//DeleteNTService(ServiceName: String):boolean;
// ServiceName - имя сервиза подлежающии удаления
//Результат:
// true - если операциая завершена успешно
// false - если есть ошибка. Можно произвести call то GetLastError чтобы
// информироваться об естество ошибки

function DeleteNTService(ServiceName: string): boolean;
var
  hServiceToDelete, hSCMgr: SC_HANDLE;
  RetVal: LongBool;
  FunctRetVal: Boolean;
begin
  FunctRetVal := false;
  hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
  if (hSCMgr <> 0) then
  begin
    hServiceToDelete := OpenService(hSCMgr, PChar(ServiceName),
      SERVICE_ALL_ACCESS);
    RetVal := DeleteService(hServiceToDelete);
    CloseServiceHandle(hSCMgr);
    FunctRetVal := RetVal;
  end;
  DeleteNTService := FunctRetVal;
end;
Пример использования: 

procedure TForm1.Button1Click(Sender: TObject);
var
  tmpS: string;
begin
  tmpS := 'Delphi_Service_' + Application.Title;
  if (CreateNTService(Application.ExeName, tmpS)) then
    MessageDlg('Service ' + tmpS + ' has been successfully created!',
      mtInformation, [mbOK], 0)
  else
    MessageDlg('Unable to create service ' + tmpS + ' Win32 Error code: ' +
      IntToStr(GetLastError), mtWarning, [mbOK], 0);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  tmpS: string;
begin
  tmpS := 'Delphi_Service_' + Application.Title + '1';
  if (DeleteNTService(tmpS)) then
    MessageDlg('Service ' + tmpS + ' has been successfully deleted!',
      mtInformation, [mbOK], 0)
  else
    MessageDlg('Unable to delete service ' + tmpS + ' Win32 Error code: ' +
      IntToStr(GetLastError), mtWarning, [mbOK], 0);
end;


Вот так. 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Albinos_x
Дата 9.5.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 3
Всего: 108





--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
SoWa
Дата 9.5.2006, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Ну там же два приложения. А тут по видимому надо одно и неубиваемое.
И по-моему едиственное решение- сервисы. Установку привиллегий и сами привиллегии стоит смотреть в MSDN. 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Rouse_
Дата 9.5.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Самый простой способ - изменение PID процесса. Тогда имея на руках невалидный описатель - нелься будет получить доступ к контексту. Делается посредстом правки PSYSTEM_PROCESSES через перехват NtQuerySistemInformation. От просто пользователя и среднестатистического программиста поможет smile 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 10.5.2006, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Rouse_ @  9.5.2006,  17:04 Найти цитируемый пост)
Самый простой способ - изменение PID процесса

А можно как-то по подробнее?  smile  


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 10.5.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



В месном FAQ не нашел нужного примера, поищи в FAQ "исходников". Берешь данный пример и модифицируешь код, который прячет процес, на код, который возвращает неверный PID процесса. 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
RA
Дата 10.5.2006, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 7
Всего: 115



Поставить хук на завершение процесса, 
помнится в библиотеке (madshi) www.madshi.net был даже пример. 
хотя это опятьже защита от среднестатестического.
 
PM   Вверх
Sunvas
Дата 11.5.2006, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(RAdmin @  10.5.2006,  08:41 Найти цитируемый пост)
Поставить хук на завершение процесса, 

Ну, приложение можно и разхучить..

Добавлено @ 18:35 
Цитата(RAdmin @  10.5.2006,  08:41 Найти цитируемый пост)
опятьже защита от среднестатестического

Ну мне нужно защита получше.. Чтобы даже профи призадумался.. Может все и сразу? 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Albinos_x
Дата 11.5.2006, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 3
Всего: 108



Цитата(Sunvas @  11.5.2006,  18:32 Найти цитируемый пост)
Чтобы даже профи призадумался.. Может все и сразу? 

чем больше "подножек". тем лучше... 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Sunvas
Дата 11.5.2006, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Albinos_x @  11.5.2006,  20:21 Найти цитируемый пост)
чем больше "подножек". тем лучше... 

Что еще может предложить?

Добавлено @ 20:44 
Цитата(Rouse_ @  10.5.2006,  08:36 Найти цитируемый пост)
В месном FAQ не нашел нужного примера, поищи в FAQ "исходников".

Где-где поискать? В Яндексе искал - ничего подобного не нашел..
Цитата(Rouse_ @  10.5.2006,  08:36 Найти цитируемый пост)
Берешь данный пример и модифицируешь код, который прячет процес, на код, который возвращает неверный PID процесса. 

А что у этих исходников общее? 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 11.5.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Sunvas, исходники - это форум www.forum.sources.ru, посмотри кстати в основной там что-то аналогичное сегодня проскакивало, только код сильно не причесанный.
А по поводу 
Цитата(Sunvas @  11.5.2006,  19:32 Найти цитируемый пост)
Ну мне нужно защита получше.. Чтобы даже профи призадумался..

для этого нужно обладать как минимум знаниями Профи, которого ты хочешь задумать smile Справишся? Если нет - бери что дают.  


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 11.5.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Rouse_ @  11.5.2006,  20:59 Найти цитируемый пост)
Sunvas, исходники - это форум www.forum.sources.ru

Зашел..

Цитата(Rouse_ @  11.5.2006,  20:59 Найти цитируемый пост)
там что-то аналогичное сегодня проскакивало

 smile вот уже пару страниц перерыл.. не оч. удобно... ничего даже похожего не нашел...


Цитата(Rouse_ @  10.5.2006,  08:36 Найти цитируемый пост)
Берешь данный пример и модифицируешь код, который прячет процес, на код, который возвращает неверный PID процесса. 

на тему "изменение PID процесса" что-то ничего не видно.. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Girder
Дата 11.5.2006, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Sunvas, енто не поможет... 


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Cheburek
Дата 11.5.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 26.3.2006

Репутация: 1
Всего: 1



Sunvas,почитай, должно помочь..
http://wasm.ru/article.php?article=apihook_1 

Это сообщение отредактировал(а) Cheburek - 11.5.2006, 21:51
PM MAIL   Вверх
Sunvas
Дата 11.5.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Cheburek @  11.5.2006,  21:50 Найти цитируемый пост)
Sunvas,почитай, должно помочь..

будет побольше времени - почитаю. Спасибо, но тема продолжается. Думаем дальше! 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
RA
Дата 11.5.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 7
Всего: 115



Цитата(Sunvas @  11.5.2006,  18:32 Найти цитируемый пост)
Ну, приложение можно и разхучить..

Смотря как хуки повесиш, можно ими всю систему обвесить как герляндами новогоднюю ёлку, но это уже изврат, и проще поставить на пк ограничения в правах пользователя smile

ЗЫ: А можно поселится в памяти винлогона smile , и не видно и не стыдно. 
PM   Вверх
Cheburek
Дата 11.5.2006, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 26.3.2006

Репутация: 1
Всего: 1



RAdmin, Ну, хук - это сила! Главное понимать, что и откуда, тогда сделать можно с системой что угодно.... 
PM MAIL   Вверх
Sunvas
Дата 11.5.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(RAdmin @  11.5.2006,  22:22 Найти цитируемый пост)
Смотря как хуки повесиш, можно ими всю систему обвесить как герляндами новогоднюю ёлку, но это уже изврат, и проще поставить на пк ограничения в правах пользователя 

Извращение.. Мне нужно чтобы надежно!

Цитата(RAdmin @  11.5.2006,  22:22 Найти цитируемый пост)
ЗЫ: А можно поселится в памяти винлогона  , и не видно и не стыдно. 

Тоже не очень удобно.. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Yanis
Дата 11.5.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



Цитата(Sunvas @  11.5.2006,  23:58 Найти цитируемый пост)
Тоже не очень удобно..  

То что ты хочешь сделать "удобно" не реализуешь.... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 12.5.2006, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Yanis @  11.5.2006,  23:57 Найти цитируемый пост)
То что ты хочешь сделать "удобно" не реализуешь.... 

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


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 12.5.2006, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Sunvas @  11.5.2006,  22:16 Найти цитируемый пост)
на тему "изменение PID процесса" что-то ничего не видно..  

Не внимательно читаешь, я говорил не про изменение PID а про скрытие...

Как спрятать программу от TaskManager'а в WindowsXP и 2000.
Листинг библиотеки (nthide.dll), которая будет выполнять нужную нам функцию:
Код
library hide;

uses
 Windows,
 SysUtils,
 ImageHlp,
 TlHelp32;

type SYSTEM_INFORMATION_CLASS = (
 SystemBasicInformation,
 SystemProcessorInformation,
 SystemPerformanceInformation,
 SystemTimeOfDayInformation,
 SystemNotImplemented1,
 SystemProcessesAndThreadsInformation,
 SystemCallCounts,
 SystemConfigurationInformation,
 SystemProcessorTimes,
 SystemGlobalFlag,
 SystemNotImplemented2,
 SystemModuleInformation,
 SystemLockInformation,
 SystemNotImplemented3,
 SystemNotImplemented4,
 SystemNotImplemented5,
 SystemHandleInformation,
 SystemObjectInformation,
 SystemPagefileInformation,
 SystemInstructionEmulationCounts,
 SystemInvalidInfoClass1,
 SystemCacheInformation,
 SystemPoolTagInformation,
 SystemProcessorStatistics,
 SystemDpcInformation,
 SystemNotImplemented6,
 SystemLoadImage,
 SystemUnloadImage,
 SystemTimeAdjustment,
 SystemNotImplemented7,
 SystemNotImplemented8,
 SystemNotImplemented9,
 SystemCrashDumpInformation,
 SystemExceptionInformation,
 SystemCrashDumpStateInformation,
 SystemKernelDebuggerInformation,
 SystemContextSwitchInformation,
 SystemRegistryQuotaInformation,
 SystemLoadAndCallImage,
 SystemPrioritySeparation,
 SystemNotImplemented10,
 SystemNotImplemented11,
 SystemInvalidInfoClass2,
 SystemInvalidInfoClass3,
 SystemTimeZoneInformation,
 SystemLookasideInformation,
 SystemSetTimeSlipEvent,
 SystemCreateSession,
 SystemDeleteSession,
 SystemInvalidInfoClass4,
 SystemRangeStartInformation,
 SystemVerifierInformation,
 SystemAddVerifier,
 SystemSessionProcessesInformation
);

_IMAGE_IMPORT_DESCRIPTOR = packed record
  case Integer of
   0:(
    Characteristics: DWORD);
   1:(
    OriginalFirstThunk:DWORD;
    TimeDateStamp:DWORD;
    ForwarderChain: DWORD;
    Name: DWORD;
    FirstThunk: DWORD);
   end;
IMAGE_IMPORT_DESCRIPTOR=_IMAGE_IMPORT_DESCRIPTOR;
PIMAGE_IMPORT_DESCRIPTOR=^IMAGE_IMPORT_DESCRIPTOR;

PFARPROC=^FARPROC;

procedure ReplaceIATEntryInOneMod(pszCallerModName: Pchar; pfnCurrent: FarProc; pfnNew: FARPROC; hmodCaller: hModule);
var     ulSize: ULONG;
   pImportDesc: PIMAGE_IMPORT_DESCRIPTOR;
    pszModName: PChar;
        pThunk: PDWORD; ppfn:PFARPROC;
        ffound: LongBool;
       written: DWORD;
begin
 pImportDesc:= ImageDirectoryEntryToData(Pointer(hmodCaller), TRUE,IMAGE_DIRECTORY_ENTRY_IMPORT, ulSize);
  if pImportDesc = nil then exit;
  while pImportDesc.Name<>0 do
   begin
    pszModName := PChar(hmodCaller + pImportDesc.Name);
     if (lstrcmpiA(pszModName, pszCallerModName) = 0) then break;
    Inc(pImportDesc);
   end;
  if (pImportDesc.Name = 0) then exit;
 pThunk := PDWORD(hmodCaller + pImportDesc.FirstThunk);
  while pThunk^<>0 do
   begin
    ppfn := PFARPROC(pThunk);
    fFound := (ppfn^ = pfnCurrent);
     if (fFound) then
      begin
       VirtualProtectEx(GetCurrentProcess,ppfn,4,PAGE_EXECUTE_READWRITE,written);
       WriteProcessMemory(GetCurrentProcess, ppfn, @pfnNew, sizeof(pfnNew), Written);
       exit;
      end;
    Inc(pThunk);
   end;
end;

var
 addr_NtQuerySystemInformation: Pointer;
 mypid: DWORD;
 fname: PCHAR;
 mapaddr: PDWORD;
 hideOnlyTaskMan: PBOOL;

function myNtQuerySystemInfo(SystemInformationClass: SYSTEM_INFORMATION_CLASS; SystemInformation: Pointer;
 SystemInformationLength:ULONG; ReturnLength:PULONG):LongInt; stdcall;
label onceagain, getnextpidstruct, quit, fillzero;
asm
 push ReturnLength
 push SystemInformationLength
 push SystemInformation
 push dword ptr SystemInformationClass
 call dword ptr [addr_NtQuerySystemInformation]
 or eax,eax
 jl quit
 cmp SystemInformationClass, SystemProcessesAndThreadsInformation
 jne quit

 onceagain:
 mov esi, SystemInformation

 getnextpidstruct:
 mov ebx, esi
 cmp dword ptr [esi],0
 je quit
 add esi, [esi]
 mov ecx, [esi+44h]
 cmp ecx, mypid
 jne getnextpidstruct
 mov edx, [esi]
 test edx, edx
 je fillzero
 add [ebx], edx
 jmp onceagain

 fillzero:
 and [ebx], edx
 jmp onceagain

 quit:
 mov Result, eax
end

procedure InterceptFunctions;
var hSnapShot: THandle;
         me32: MODULEENTRY32;
begin
 addr_NtQuerySystemInformation:=GetProcAddress(getModuleHandle('ntdll.dll'),'NtQuerySystemInformation');
 hSnapShot:=CreateToolHelp32SnapShot(TH32CS_SNAPMODULE,GetCurrentProcessId);
  if hSnapshot=INVALID_HANDLE_VALUE then exit;
   try
    ZeroMemory(@me32,sizeof(MODULEENTRY32));
    me32.dwSize:=sizeof(MODULEENTRY32);
    Module32First(hSnapShot,me32);
     repeat
      ReplaceIATEntryInOneMod('ntdll.dll',addr_NtQuerySystemInformation,@MyNtQuerySystemInfo,me32.hModule);
     until not Module32Next(hSnapShot,me32);
   finally
    CloseHandle(hSnapShot);
   end;
end;

procedure UninterceptFunctions;
var hSnapShot: THandle;
         me32: MODULEENTRY32;
begin
 addr_NtQuerySystemInformation:=GetProcAddress(getModuleHandle('ntdll.dll'),'NtQuerySystemInformation');
 hSnapShot:=CreateToolHelp32SnapShot(TH32CS_SNAPMODULE,GetCurrentProcessId);
  if hSnapshot=INVALID_HANDLE_VALUE then exit;
  try
   ZeroMemory(@me32,sizeof(MODULEENTRY32));
   me32.dwSize:=sizeof(MODULEENTRY32);
   Module32First(hSnapShot,me32);
    repeat
     ReplaceIATEntryInOneMod('ntdll.dll',@MyNtQuerySystemInfo,addr_NtQuerySystemInformation,me32.hModule);
    until not Module32Next(hSnapShot,me32);
  finally
   CloseHandle(hSnapShot);
  end;
end;


var HookHandle: THandle;

function CbtProc(code: integer; wparam: integer; lparam: integer):Integer; stdcall;
begin
 Result:=0;
end;

procedure InstallHook; stdcall;
begin
 HookHandle:=SetWindowsHookEx(WH_CBT, @CbtProc, HInstance, 0);
end;

var hFirstMapHandle:THandle;

function HideProcess(pid:DWORD; HideOnlyFromTaskManager:BOOL):BOOL; stdcall;
var addrMap: PDWORD;
       ptr2: PBOOL;
begin
 mypid:=0;
 result:=false;
 hFirstMapHandle:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,8,'NtHideFileMapping');
  if hFirstMapHandle=0 then exit;
 addrMap:=MapViewOfFile(hFirstMapHandle,FILE_MAP_WRITE,0,0,8);
  if addrMap=nil then
   begin
    CloseHandle(hFirstMapHandle);
    exit;
   end;
 addrMap^:=pid;
 ptr2:=PBOOL(DWORD(addrMap)+4);
 ptr2^:=HideOnlyFromTaskManager;
 UnmapViewOfFile(addrMap);
 InstallHook;
 result:=true;
end;

exports
 HideProcess;

var
 hmap: THandle;

procedure LibraryProc(Reason: Integer);
begin
 if Reason = DLL_PROCESS_DETACH then
  if mypid > 0 then
   UninterceptFunctions()
 else
  CloseHandle(hFirstMapHandle);
end;

begin
 hmap:=OpenFileMapping(FILE_MAP_READ,false,'NtHideFileMapping');
  if hmap=0 then exit;
  try
   mapaddr:=MapViewOfFile(hmap,FILE_MAP_READ,0,0,0);
    if mapaddr=nil then exit;
   mypid:=mapaddr^;
   hideOnlyTaskMan:=PBOOL(DWORD(mapaddr)+4);
    if hideOnlyTaskMan^ then
     begin
      fname:=allocMem(MAX_PATH+1);
      GetModuleFileName(GetModuleHandle(nil),fname,MAX_PATH+1);
       if not (ExtractFileName(fname)='taskmgr.exe') then exit;
     end;
   InterceptFunctions;
  finally
   UnmapViewOfFile(mapaddr);
   CloseHandle(Hmap);
   DLLProc:=@LibraryProc;
  end;
end.
Взято с http://forum.sources.ru

Для её использования нужно вызвать функцию HideProcess:
function HideProcess(pid:DWORD; HideOnlyFromTaskManager:BOOL):BOOL, где
pid - идентификатор процесса, который нужно спрятать
HideOnlyFromTaskManager - нужно ли прятать процесс только от TaskManager'а, или же от остальных программ, использующих для получения списка процессов функцию NtQuerySystemInformation из ntdll.dll.

Пример использования:
Код
function HideProcess(pid: DWORD; HideOnlyFromTaskManager: BOOL): BOOL; stdcall; external 'nthide.dll';
//...
procedure proc;
begin
 HideProcess(GetCurrentProcessId, false); //это спрячет текущий процесс
end;


PS: Код конечно кривой, автору за вот это руки оторвать нужно.
Код

function CbtProc(code: integer; wparam: integer; lparam: integer):Integer; stdcall;
begin
 Result:=0;
end;
 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Nickel
Дата 12.5.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Код действительно ужасный. Да и сам метод довольно не надёжен: можно вызвать 
Код

GetProcAddress(GetModuleHandle('ntdll.dll'),'NtQuerySystemInformation');

и никакое изменение таблиц импорта тут не поможет. Да к тому же надёжно спрятать процесс очень сложно, нужно как минимум попрятать все хендлы, которые он создал и непосредственно открытые хендлы этого процесса. Вобщем рекомендую послушать Cheburek'а и почитать здесь:
http://wasm.ru/article.php?article=apihook_1
http://wasm.ru/article.php?article=apihook_2
http://wasm.ru/article.php?article=apihook_3 
PM   Вверх
Dimannn
Дата 13.5.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



В принципе можно программу переписать в виде dll, и с помощью CreateRemoteThread попробовать подключить её к чему-нибудь незакрываемому.

На практике подключал тока к процессам текущего пользователя, хотя возможно, удастся и к winlogon.

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


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Sunvas
Дата 14.5.2006, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Dimannn @  13.5.2006,  21:17 Найти цитируемый пост)
В принципе можно программу переписать в виде dll, и с помощью CreateRemoteThread попробовать подключить её к чему-нибудь незакрываемому.

А в ограниченой учетной записи как быть?? 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ne0n
Дата 14.5.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



Цитата(SoWa @  9.5.2006,  09:32 Найти цитируемый пост)
Делай программу сервисом и ставь ему особо крутые привиллегии. И не кильнешь ничем... Так Касперский делает.


Ну если я не ошибаюсь каспер по-другому работает:

Антивирус для защиты своего процесса от уничтожения устанавливает в систему драйвер и перехватывает в ядре системы функцию ZwOpenProcess, которая используется для доступа к другим процессам, после чего он запрещает открытие своего процесса с флагом PROCESS_TERMINATE.

Отсюда вывод: все-таки придется читать статьи Ms-rem'a про перехват api функций.

З.Ы. А мож нафиг не надо делать его неубиваемым, а просто скрытьsmile 
  

Это сообщение отредактировал(а) ne0n - 14.5.2006, 21:24
PM MAIL ICQ   Вверх
Sunvas
Дата 16.5.2006, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(ne0n @  14.5.2006,  21:22 Найти цитируемый пост)
З.Ы. А мож нафиг не надо делать его неубиваемым, а просто скрыть 

Да не. Нужно именно неубиваемым приложение сделать. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
muxaxa
Дата 16.5.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.5.2006

Репутация: нет
Всего: нет



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

Как говорится ни что не вечно. smile 

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

На мой взгляд самым оптимальным, будет использование драйвера, но к сожалению одними только средсвами Delphi тут необойтись.

  

Это сообщение отредактировал(а) muxaxa - 16.5.2006, 12:06
PM MAIL   Вверх
Nickel
Дата 16.5.2006, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(muxaxa @ 16.5.2006,  12:05)
ой, ну даже и не знаю, наверное придётся вас разочаровать, абсолютно неубиваемый процесс это нереально, будь он в протекции драйвера или в нулевом кольце. У людей знающих такой неубиваемый процесс продержится до перезагрузки, после каторой этот неубиваемый процесс будет перехвачен на стадии запуска, и влюбой момент завершён. 

Как говорится ни что не вечно. smile 

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

На мой взгляд самым оптимальным, будет использование драйвера, но к сожалению одними только средсвами Delphi тут необойтись.

Абсолютно неубиваемый пожалуй правда нереально, как не реальен абсолютный фаервол, антивирус, абсолютно защищённая ОС и т.д. Но вполне реально сделать так чтоб отрубить защиту процесса можно было тока из safe mode (хотя чё тока с виндой не делают, мож и в safe mode можно свой драйвер загрузить), потерев драйвер. Я кстати где-то видел про создание прцоесса из ринг0, так что создание процесса не обязательно состоится.
Драйвера на делфи писать можно! Причём абсолютно функциональные. Читать здесь. Если кто заинтересовался, я знаю как использовать для этой цели компилятор от делфи 7 (всё же удобней, чем от третих делфей). 
PM   Вверх
Sunvas
Дата 17.5.2006, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Nickel @  16.5.2006,  17:18 Найти цитируемый пост)
Абсолютно неубиваемый пожалуй правда нереально, как не реальен абсолютный фаервол, антивирус, абсолютно защищённая ОС и т.д.

Но думаем как выложиться по максимуму! 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Dimannn
Дата 17.5.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Цитата(Sunvas @  17.5.2006,  06:35 Найти цитируемый пост)
Но думаем как выложиться по максимуму!


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


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Rouse_
Дата 17.5.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



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


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Rennigth
Дата 17.5.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Цитата(Rouse_ @  17.5.2006,  21:16 Найти цитируемый пост)
но только не процесс это уже получиться...

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


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Yanis
Дата 17.5.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



Цитата(Rennigth @  17.5.2006,  22:32 Найти цитируемый пост)
я все время считал что в винде нельзя что-то выполнить вне контекста какого-нибудь процесса... 

ну наверное имеется ввиду что то типа Ring0 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Rouse_
Дата 17.5.2006, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Rennigth @  17.5.2006,  22:32 Найти цитируемый пост)
Rouse_, извини за наверное глупый вопрос, а что?...
я все время считал что в винде нельзя что-то выполнить вне контекста какого-нибудь процесса...  

Помимо процессов в винде много чего еще есть smile Yanis, узрел верное направление...

Добавлено @ 22:06 
Вообще для нормального сокрытия из пользовательского режима можно применить технологию расслоения, а именно запускающий модуль (собственно уязвимое место) распространяет выполнение отдельных участков кода по всем текущим процессам путем создания дополнительных потоков и после этого завершается, а потоки остаются работать. Каждый из таких потоков выполняет свою работу и параллельно контролирует своих собратьев. Задача достаточно сложная, но даже для достаточно подкованного программиста (выше среднего уровня) детектирование данного метода представляет большое затруднение, не говоря уже о остановки данного массива потоков... 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Rennigth
Дата 17.5.2006, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Цитата(Rouse_ @  17.5.2006,  21:16 Найти цитируемый пост)
без завершения работы системы

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

Цитата(Rouse_ @  17.5.2006,  21:57 Найти цитируемый пост)
Помимо процессов в винде много чего еще есть
это понятно, теже сервисы, но посути это теже процессы... или я ошибаюсь?

Цитата(Yanis @  17.5.2006,  21:41 Найти цитируемый пост)
ну наверное имеется ввиду что то типа Ring0  

вроде и это мне кажется зная о существовании и неплохо разбираясь в програмировании(осообено asm) можно поломать...   неверю что 
Цитата(Rouse_ @  17.5.2006,  21:16 Найти цитируемый пост)
Абсолютно неубиваемый можно

 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Yanis
Дата 17.5.2006, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



Ну тогда выход один - драйвер.
К стати Sunvas, если ты хочешь написать какой то гуард для блокировки компьютера или же что то типа мега оболочки (бывает и такое) для windows, то во всех серьёзных программах используется именно этот способ... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Rouse_
Дата 17.5.2006, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Rennigth @  17.5.2006,  23:13 Найти цитируемый пост)
это понятно, теже сервисы, но посути это теже процессы... или я ошибаюсь?

Да сервисы - теже процессы с более высокими привилегиями.
Цитата(Rennigth @  17.5.2006,  23:13 Найти цитируемый пост)
вроде и это мне кажется зная о существовании и неплохо разбираясь в програмировании(осообено asm) можно поломать...   неверю что 

Задача для очень серьезного профессионала.

Смотри в чем цимус (уж извини, но часть работы у меня такая - защита ПО, поэтому поехидничаю).
Вот ломать что ты будешь? И как себе ты это представляешь? 
Взлом - достаточно продолжительная по времени задача 99 процентов которой затрачены на анализ кода и только 1 процент на саму правку кода. 
Противопоставить этому можно как банальную обфускацию джампами + не очень сильный морфический движок, (что делается темже ASProtect, кряки к которому выходят в день выпуска нового релиза), пакеры не упоминаю ибо выход на OEP уже делают автоматом практически все анпакеры, виртуальные машины - вот это достаточно серьезный аргумент, т.к. анализ приходиться делать вручную, но также до первого взлома. Итак это банальный - Битхак. 
Битхак означает что твою программу проанализировали и практически полностью изучили.

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


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Rennigth
Дата 17.5.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Rouse_, Абсолютно с тобой согласен... smile но: твоя цитата:
Цитата

ЗЫ: Любой овощь хорошь только будучи употреблен в нужное время  © ИШ 

если это стоит свечь, то сомневаюсь что:
Цитата(Rouse_ @  17.5.2006,  21:16 Найти цитируемый пост)
Абсолютно неубиваемый можно
 smile

PS: вот демогогию развели smile
 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Sunvas
Дата 18.5.2006, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Yanis @  17.5.2006,  22:20 Найти цитируемый пост)
К стати Sunvas, если ты хочешь написать какой то гуард для блокировки компьютера или же что то типа мега оболочки (бывает и такое) для windows, то во всех серьёзных программах используется именно этот способ... 

Для начала мне нужно хотябы написать просто приложение с пустой формой, при запуске которого его нельзя убить.. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Nickel
Дата 18.5.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Вот не люблю я такие темы: 3 страницы обсуждения и ниодной строчки кода. Предлагаю уже подытожить: нам нужен драйвер и писать его собираемся на делфи, т.е. компилировать в делфи до объектного кода и линковать майкрософтовсктим линкером, правильно? Тогда предлагаю решить, будем использовать старенький Delphi 3 или немножко погимороившись заюзаем Delphi7. Кто не понял о чём я, ещё раз даю линк
PS кстати насчёт защиты приложений, очень интересная статья Криса Касперски  как обдурить дизассемблеры. 
PM   Вверх
ne0n
Дата 19.5.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



По-моему лучше не париться с написанием  драйвера(уж очень много времени уйдет) а просто сделать свою программу в виде dll
и инжектировать ее в системный процесс(можно в несколько). Винда не даст убить этот процесс(во всяком случии в Таск менаджере)

Цитата(Nickel @  18.5.2006,  14:06 Найти цитируемый пост)
Вот не люблю я такие темы: 3 страницы обсуждения и ниодной строчки кода.

А че писать то? Автор сам еще не определился со сспособом. 
PM MAIL ICQ   Вверх
Nickel
Дата 19.5.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(ne0n @ 19.5.2006,  16:28)
По-моему лучше не париться с написанием  драйвера(уж очень много времени уйдет) а просто сделать свою программу в виде dll
и инжектировать ее в системный процесс(можно в несколько). Винда не даст убить этот процесс(во всяком случии в Таск менаджере)

Цитата(Nickel @  18.5.2006,  14:06 Найти цитируемый пост)
Вот не люблю я такие темы: 3 страницы обсуждения и ниодной строчки кода.

А че писать то? Автор сам еще не определился со сспособом.

Выгрузить длл не сложнее чем загрузить, да и системный процесс убить как 2 байта переслать, только бы винда не скопытилась =)
Вот я к тому и говорю, чтоб определялся. 
PM   Вверх
ne0n
Дата 19.5.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



Цитата(Nickel @  19.5.2006,  17:09 Найти цитируемый пост)
Выгрузить длл не сложнее чем загрузить, да и системный процесс убить как 2 байта переслать, только бы винда не скопытилась =)


Оно-то оно так, но ис драйвером проблем необерешься(если драйвер будет написан криво,
что скорей всего и будет, то машину можно с такойже легкостью пустить в даун)
 
PM MAIL ICQ   Вверх
Nickel
Дата 20.5.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(ne0n @ 19.5.2006,  21:10)
Оно-то оно так, но ис драйвером проблем необерешься(если драйвер будет написан криво,
что скорей всего и будет, то машину можно с такойже легкостью пустить в даун)

Да, с драйвером нелегко... Но думаю кривые драйвера мы писать не будем, покрайней мере постараемся  smile 
На самом деле и криво написанная длл может повалить тот же системный процесс.
Хотелось бы уже заслушать мнение создателя темы.
ЗЫ четвёртая пошла... 
PM   Вверх
Sunvas
Дата 20.5.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Nickel @  20.5.2006,  09:47 Найти цитируемый пост)
На самом деле и криво написанная длл может повалить тот же системный процесс.
Хотелось бы уже заслушать мнение создателя темы.

Ну.. Длл мне сразу скажу, что не подходит - в ограниченной учетной записи ее нельзя присобачить к системному процессу csrss (которые винда не даст убить). С драйвером еще сложнее: почитал посты в теме и как-то драйвер писать перехотелось...
Думаем, думаем.. Нужно ведь, чтоб и в ограниченной записи работало..

ЗЫ:
Пока самая рульная остается идея Rouse_ об изменении PID процесса. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Yanis
Дата 22.5.2006, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



Sunvas
Ты можешь назвать хоть одну программу аналог той, которую хочешь написать? 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Rouse_
Дата 22.5.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



В ограниченой учетки спасет сервис... 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
killerbean
Дата 22.5.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 18.5.2006

Репутация: нет
Всего: нет



вот этот код все равно убъет любой процесс
Код

Function DebugKillProcess(ProcessId: dword): boolean;
var
 pHandle: dword;
 myPID: dword;
 HandlesInfo: PSYSTEM_HANDLE_INFORMATION_EX;
 r: dword;
begin
 Result := false;
 myPID := GetCurrentProcessId();
 if not EnableDebugPrivilege() then Exit;
 //подключаемся к системе отладки и получаем DebugObject
 if DbgUiConnectToDbg() <> STATUS_SUCCESS then Exit;
 pHandle := OpenProcessEx(ProcessId);
 //включаем отладку процесса
 if DbgUiDebugActiveProcess(pHandle) <> STATUS_SUCCESS then Exit;
 //надо найти полученный DebugObject
 HandlesInfo := GetInfoTable(SystemHandleInformation);
 if HandlesInfo = nil then Exit;
 for r := 0 to HandlesInfo^.NumberOfHandles do
  if (HandlesInfo^.Information[r].ProcessId = myPID) and
     (HandlesInfo^.Information[r].ObjectTypeNumber = $8)  //DebugObject
     then begin
       //закрываем DebugObject, что приводит к уничтожению отлаживаемого процесса
       CloseHandle(HandlesInfo^.Information[r].Handle);
       Result := true;
       break;
     end;
 VirtualFree(HandlesInfo, 0, MEM_RELEASE);
end;


более подробное описание на wasm.ru. Там целая статья по этому поводу.
Проверено на Outpost Firewall, Kaspersky Antivirus 5,6 
PM MAIL   Вверх
Rouse_
Дата 22.5.2006, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



killerbean, достаточно правильного перехвата NtCreateFile и этот код идет лесом smile
Не цитируй чужие ошибки...

Добавлено @ 17:37 
К тому же что ты будешь убивать, если ProcessId у тебя фальшивый? 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 23.5.2006, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Rouse_ @  22.5.2006,  13:58 Найти цитируемый пост)
В ограниченой учетки спасет сервис... 

Но сервис можно стопануть..

Цитата(Yanis @  22.5.2006,  12:31 Найти цитируемый пост)
Sunvas
Ты можешь назвать хоть одну программу аналог той, которую хочешь написать? 

Вряд-ли. Мне просто пришла в голову эта идея после того, как мои процессы начали килять. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 23.5.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Sunvas @  23.5.2006,  08:23 Найти цитируемый пост)
Но сервис можно стопануть..

С ограниченой? Врятли... 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Nickel
Дата 23.5.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(killerbean @ 22.5.2006,  17:07)
вот этот код все равно убъет любой процесс
Код

Function DebugKillProcess(ProcessId: dword): boolean;
var
 pHandle: dword;
 myPID: dword;
 HandlesInfo: PSYSTEM_HANDLE_INFORMATION_EX;
 r: dword;
begin
 Result := false;
 myPID := GetCurrentProcessId();
 if not EnableDebugPrivilege() then Exit;
 //подключаемся к системе отладки и получаем DebugObject
 if DbgUiConnectToDbg() <> STATUS_SUCCESS then Exit;
 pHandle := OpenProcessEx(ProcessId);
 //включаем отладку процесса
 if DbgUiDebugActiveProcess(pHandle) <> STATUS_SUCCESS then Exit;
 //надо найти полученный DebugObject
 HandlesInfo := GetInfoTable(SystemHandleInformation);
 if HandlesInfo = nil then Exit;
 for r := 0 to HandlesInfo^.NumberOfHandles do
  if (HandlesInfo^.Information[r].ProcessId = myPID) and
     (HandlesInfo^.Information[r].ObjectTypeNumber = $8)  //DebugObject
     then begin
       //закрываем DebugObject, что приводит к уничтожению отлаживаемого процесса
       CloseHandle(HandlesInfo^.Information[r].Handle);
       Result := true;
       break;
     end;
 VirtualFree(HandlesInfo, 0, MEM_RELEASE);
end;


более подробное описание на wasm.ru. Там целая статья по этому поводу.
Проверено на Outpost Firewall, Kaspersky Antivirus 5,6

Во-первых, когда приводишь чужую функцию неплохо бы привести и все остальные, которые она использует.
Во-вторых, посчитай скока раз в этой теме ссылались на статьи Ms Rem'а.
В-третьих, Rouse_ прав - этой код сможет завалить далеко не каждый процесс. Существует тысяча и один способ обойти этот способ убийства процессов: начиная закрывание своего хендла у csrss.exe и заканчивая перехватом вызовов api функций.
Sunvas,  вограниченной учётной записи действительно подойдёт сервис, только видимо устанавливать его придётся из-под админа. 
PM   Вверх
Sunvas
Дата 24.5.2006, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Nickel @  23.5.2006,  14:49 Найти цитируемый пост)
Sunvas,  вограниченной учётной записи действительно подойдёт сервис, только видимо устанавливать его придётся из-под админа. 

Ну, этогда это уже не ораниченная учетка.. smile 

Цитата(Rouse_ @  23.5.2006,  08:14 Найти цитируемый пост)
С ограниченой? Врятли... 

Я имею в виду другой спецсофт не стандартный проводник.
 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Rouse_
Дата 24.5.2006, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Sunvas @  24.5.2006,  07:47 Найти цитируемый пост)
Я имею в виду другой спецсофт не стандартный проводник.

Если предполагается использование спецсофта, то ни один из вышеперечисленных приемов тебе не поможет... 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
BinaryEvil
Дата 24.5.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 4.3.2006

Репутация: -1
Всего: 2



можно две проги забацать: каждое запускает другое при отсутствии оного... тоись убил одно, второе тут же его подняло, убил второе, первое его подымает...  
PM MAIL   Вверх
ne0n
Дата 24.5.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



А может все-таки хуком обоитись? Уже где-то  писалось что в библиотеке MAD есть неплохой 
примерчик.

Цитата(BinaryEvil @  24.5.2006,  13:17 Найти цитируемый пост)
можно две проги забацать: каждое запускает другое при отсутствии оного... тоись убил одно, второе тут же его подняло, убил второе, первое его подымает...  


енто придлагал Albinos_X(по-моему) - автор проигнорировал.
 
PM MAIL ICQ   Вверх
Sunvas
Дата 24.5.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(ne0n @  24.5.2006,  15:26 Найти цитируемый пост)
Цитата(BinaryEvil @  24.5.2006,  13:17 )    
можно две проги забацать: каждое запускает другое при отсутствии оного... тоись убил одно, второе тут же его подняло, убил второе, первое его подымает...    

енто придлагал Albinos_X(по-моему) - автор проигнорировал.

Это я точно проигнорировал вот почему: останавливаем один процесс и валим воторой, а затем валим первый. Я так много-много шпионов килянул. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Dimannn
Дата 31.5.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Не хочу вас огорчать, но Касперский 6 драйвер не устанавливает!

И по поводу того кода:
Цитата(Nickel @  23.5.2006,  14:49 Найти цитируемый пост)
pHandle := OpenProcessEx(ProcessId);

Вот здесь всё и закончится (ERROR_ACCESS_DENIED)
 


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Sunvas
Дата 1.6.2006, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Dimannn @  31.5.2006,  12:47 Найти цитируемый пост)
Вот здесь всё и закончится (ERROR_ACCESS_DENIED)

Типа Касперский запрещает доступ к своему процессу?? Как? 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Nickel
Дата 1.6.2006, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 7.2.2006

Репутация: 2
Всего: 4



Цитата(Dimannn @ 31.5.2006,  12:47)
Не хочу вас огорчать, но Касперский 6 драйвер не устанавливает!

Не верю!  smile 100 пудов есть драйвер, иначе очень проблемно в ring0 попадать, писать в \Device\PhisicalMemory, по-моему, способ не для антивируса (версия, что каспер не использует kernel-mode я даже не рассматриваю). Надо будет поставить посмотреть.... 
PM   Вверх
Rouse_
Дата 1.6.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Цитата(Dimannn @  31.5.2006,  13:47 Найти цитируемый пост)
Не хочу вас огорчать, но Касперский 6 драйвер не устанавливает!

Ага, конечно не устанавливает, ибо там ребята такие умные что научились сквозняком с третьего на нулевое кольцо падать...
Глупости то не городи...

Добавлено @ 12:31 
Цитата(Sunvas @  1.6.2006,  08:23 Найти цитируемый пост)
Типа Касперский запрещает доступ к своему процессу?? Как?  

Перехватывает ZwOpenProcess из драйвера. Если вызов данной функции происходит с PROCESS_TERMINATE то проверяется PID открываемого процесса и если он равен родному PID то возвращается STATUS_ACCESS_DENIED. 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Dimannn
Дата 1.6.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



У меня щас запущен касперсий 5, и вот список работающих драйверов:
Код
Module Name  Display Name           Driver Type   Link Date
============ ====================== ============= ======================
ACPI         Драйвер Microsoft ACPI Kernel        04.08.2004 10:07:35
ACPIEC       ACPIEC                 Kernel        18.08.2001 0:57:55
aec          Подавитель акустическо Kernel        13.02.2004 18:20:15
AFD          AFD                    Kernel        04.08.2004 10:14:13
AFS2K        AFS2k                  Kernel        26.02.2002 2:05:13
agp440       Intel - фильтр шины AG Kernel        04.08.2004 10:07:40
ALCXWDM      Service for Realtek AC Kernel        23.07.2003 19:30:43
AsyncMac     Драйвер асинхронного н Kernel        04.08.2004 10:05:02
atapi        Standard IDE/ESDI Hard Kernel        04.08.2004 9:59:41
Atmarpc      Протокол клиента ATM A Kernel        04.08.2004 9:58:29
audstub      Драйвер заглушки аудио Kernel        18.08.2001 0:59:40
Beep         Beep                   Kernel        18.08.2001 0:47:33
Cap7134      Cap7134 Capture        Kernel        24.03.2004 10:02:41
cbidf2k      cbidf2k                Kernel        18.08.2001 0:52:06
CCDECODE     Closed Caption декодер Kernel        04.08.2004 10:10:13
Cdaudio      Cdaudio                Kernel        18.08.2001 0:52:26
Cdfs         Cdfs                   File System   04.08.2004 10:14:09
Cdrom        Драйвер CD-ROM дисково Kernel        04.08.2004 9:59:52
Disk         Драйвер диска          Kernel        04.08.2004 9:59:53
DKbFltr      Dritek HotKey Keyboard Kernel        08.11.2002 11:21:55
dmboot       dmboot                 Kernel        04.08.2004 10:07:13
dmio         Драйвер диспетчера лог Kernel        04.08.2004 10:07:13
dmload       dmload                 Kernel        18.08.2001 0:58:15
DMusic       Синтезатор DLS ядра си Kernel        04.08.2004 10:07:37
Dot4         Драйвер MS IEEE-1284.4 Kernel        04.08.2004 9:58:28
Dot4Print    Драйвер класса принтер Kernel        18.08.2001 0:47:25
dot4usb      MS Dot4USB Filter Dot4 Kernel        18.08.2001 0:47:24
drmkaud      Звуковой дешифратор DR Kernel        04.08.2004 10:07:56
Fastfat      Fastfat                File System   04.08.2004 10:14:15
Fdc          Драйвер контроллера ги Kernel        04.08.2004 9:59:25
Fips         Fips                   Kernel        18.08.2001 5:31:49
Flpydisk     Драйвер дисковода гибк Kernel        04.08.2004 9:59:24
FltMgr       FltMgr                 File System   04.08.2004 10:01:17
Ftdisk       Драйвер диспетчера том Kernel        18.08.2001 0:52:41
gameenum     Перечислитель игровых  Kernel        04.08.2004 10:08:20
Gpc          Общий классификатор па Kernel        04.08.2004 10:04:11
hidusb       Драйвер класса HID Mic Kernel        18.08.2001 1:02:16
HTTP         HTTP                   Kernel        04.08.2004 10:00:09
i8042prt     Драйвер i8042-клавиату Kernel        04.08.2004 10:14:36
Imapi        Драйвер фильтра записи Kernel        04.08.2004 10:00:12
IntelIde     IntelIde               Kernel        04.08.2004 9:59:40
intelppm     Драйвер Intel процессо Kernel        04.08.2004 9:59:19
Ip6Fw        Драйвер брандмауэра Wi Kernel        04.08.2004 10:00:04
IpFilterDriv Драйвер фильтра IP-тра Kernel        18.08.2001 0:55:07
IpInIp       Драйвер туннеля IP в I Kernel        04.08.2004 10:04:45
IpNat        Транслятор сетевого IP Kernel        04.08.2004 10:04:48
IPSec        Драйвер IPSEC          Kernel        04.08.2004 10:14:27
IRENUM       Служба перечислителя I Kernel        04.08.2004 10:00:45
isapnp       Драйвер PnP ISA/EISA ш Kernel        18.08.2001 0:58:01
Kbdclass     Драйвер класса клавиат Kernel        04.08.2004 9:58:32
Klif         Klif                   Kernel        18.04.2004 17:45:52
Klmc         Klmc                   Kernel        18.04.2004 17:45:56
kmixer       Микшер звукозаписи ядр Kernel        04.08.2004 10:07:46
KSecDD       KSecDD                 Kernel        04.08.2004 9:59:45
mnmdd        mnmdd                  Kernel        18.08.2001 0:57:28
Modem        Modem                  Kernel        04.08.2004 10:08:04
MODEMCSA     Устройство фильтрации  Kernel        18.08.2001 0:57:37
Mouclass     Драйвер класса мыши    Kernel        04.08.2004 9:58:32
mouhid       Драйвер мыши HID       Kernel        18.08.2001 0:47:57
MountMgr     MountMgr               Kernel        04.08.2004 9:58:29
MRxDAV       Перенаправиль клиентов File System   04.08.2004 10:00:49
MRxSmb       MRXSMB                 File System   04.08.2004 10:15:14
Msfs         Msfs                   File System   04.08.2004 10:00:37
MSKSSRV      Представитель служб по Kernel        04.08.2004 9:58:39
MSPCLOCK     Посредник синхронизаци Kernel        04.08.2004 9:58:38
MSPQM        Представитель диспетче Kernel        04.08.2004 9:58:39
mssmbios     Драйвер Microsoft Syst Kernel        04.08.2004 10:07:47
MSTEE        Преобразователь потоко Kernel        04.08.2004 9:58:38
ms_mpu401    Драйвер UART Microsoft Kernel        18.08.2001 0:59:59
Mup          Служба MUP             File System   04.08.2004 10:15:20
NABTSFEC     NABTS/FEC VBI кодек    Kernel        04.08.2004 10:10:24
NDIS         Системный драйвер NDIS Kernel        04.08.2004 10:14:27
NdisIP       Microsoft видео или ТВ Kernel        04.08.2004 10:10:12
NdisTapi     NDIS-драйвер TAPI удал Kernel        18.08.2001 0:55:29
Ndisuio      NDIS-протокол ввода/вы Kernel        04.08.2004 10:03:10
NdisWan      NDIS-драйвер WAN удале Kernel        04.08.2004 10:14:30
NDProxy      NDIS прокси            Kernel        18.08.2001 0:55:30
NetBIOS      Интерфейс NetBIOS      File System   04.08.2004 10:03:19
NetBT        NetBios через TCP/IP   Kernel        04.08.2004 10:14:36
Npfs         Npfs                   File System   04.08.2004 10:00:38
Ntfs         Ntfs                   File System   04.08.2004 10:15:06
Null         Null                   Kernel        18.08.2001 0:47:39
nv           nv                     Kernel        07.10.2003 3:56:53
NwlnkFlt     Драйвер фильтра IPX-тр Kernel        18.08.2001 0:54:05
NwlnkFwd     Драйвер пересылки  IPX Kernel        18.08.2001 0:54:08
Parport      Драйвер параллельного  Kernel        04.08.2004 9:59:04
PartMgr      PartMgr                Kernel        18.08.2001 5:32:23
ParVdm       ParVdm                 Kernel        18.08.2001 0:49:49
PCI          Драйвер PCI шины       Kernel        04.08.2004 10:07:45
PCIIde       PCIIde                 Kernel        18.08.2001 0:51:49
Pcmcia       Pcmcia                 Kernel        04.08.2004 10:07:45
PhTVTune     Cap7134 TVTuner        Kernel        24.03.2004 10:03:24
PptpMiniport Минипорт WAN (PPTP)    Kernel        04.08.2004 10:14:26
PSched       Планировщик пакетов Qo Kernel        04.08.2004 10:04:16
Ptilink      Драйвер прямой паралле Kernel        18.08.2001 0:49:53
RasAcd       Драйвер авто-подключен Kernel        18.08.2001 0:55:39
Rasl2tp      Минипорт WAN (L2TP)    Kernel        04.08.2004 10:14:21
RasPppoe     Драйвер PPPoE удаленно Kernel        04.08.2004 10:05:06
Raspti       Прямой параллельный по Kernel        18.08.2001 0:55:32
Rdbss        Rdbss                  File System   04.08.2004 10:20:05
RDPCDD       RDPCDD                 Kernel        18.08.2001 0:46:56
rdpdr        Драйвер перенаправител Kernel        04.08.2004 10:01:10
RDPWD        RDPWD                  Kernel        04.08.2004 9:59:01
RE100ND5     Compex RE100ATX/WOL PC Kernel        23.04.2001 10:17:05
redbook      Драйвер фильтра воспро Kernel        04.08.2004 9:59:34
rtl8139      Realtek RTL8139(A/B/C) Kernel        13.06.2003 9:29:46
Secdrv       Secdrv                 Kernel        09.02.2001 19:51:30
serenum      Драйвер фильтра Serenu Kernel        04.08.2004 9:59:06
Serial       Драйвер последовательн Kernel        04.08.2004 10:15:51
Sfloppy      Sfloppy                Kernel        04.08.2004 9:59:53
SLIP         BDA Slip De-Framer     Kernel        04.08.2004 10:10:13
splitter     Разделитель звука ядра Kernel        04.08.2004 10:07:46
sr           Драйвер фильтра восста File System   04.08.2004 10:06:22
Srv          Srv                    File System   04.08.2004 10:14:44
streamip     BDA IPSink             Kernel        04.08.2004 10:10:12
swenum       Драйвер программной ши Kernel        04.08.2004 9:58:41
swmidi       Синтезатор звуковой та Kernel        18.08.2001 1:00:42
sysaudio     Аудиоустройство ядра с Kernel        04.08.2004 10:15:54
Tcpip        Драйвер протокола TCP/ Kernel        04.08.2004 10:14:39
TDPIPE       TDPIPE                 Kernel        04.08.2004 9:58:53
TDTCP        TDTCP                  Kernel        04.08.2004 9:58:52
TermDD       Драйвер устройства тер Kernel        04.08.2004 9:58:52
Udfs         Udfs                   File System   04.08.2004 10:00:27
Update       Драйвер обновления мик Kernel        04.08.2004 9:58:32
usbehci      Драйвер минипорта Micr Kernel        04.08.2004 10:08:34
usbhub       USB2 концентратор      Kernel        04.08.2004 10:08:40
usbscan      Драйвер USB-сканера    Kernel        04.08.2004 9:58:44
usbuhci      Драйвер минипорта Micr Kernel        04.08.2004 10:08:34
VgaSave      VgaSave                Kernel        04.08.2004 10:07:06
VolSnap      VolSnap                Kernel        04.08.2004 10:00:14
VPCNetS2     Virtual Machine Networ Kernel        15.06.2004 5:18:09
Wanarp       Драйвер IP ARP удаленн Kernel        04.08.2004 10:04:57
wdmaud       Драйвер совместимости  Kernel        04.08.2004 10:15:03
WSTCODEC     World Standard Teletex Kernel        04.08.2004 10:10:19


Касперские до 5-го устанавливали kav.sys

Добавлено @ 14:51 
Может быть, они драйвер переименовали, чтоб кто-нить не завершил специально, но вряд-ли. 


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Rouse_
Дата 1.6.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 18
Всего: 29



Драйвер касперского Klif.sys

Добавлено @ 15:32 
кстати можешь поэксперементировать закрыли ли они дыру в своем драйвере.
Выполни следующую функцию:

Код

ZwOpenProcess(0, nil, 0, 0);


Если получишь BSOD (синий экран) - значит дыра на месте smile 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
RA
Дата 3.6.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 7
Всего: 115



ОФТОП: 
Извините не удержался  smile 
 И как вы только можете сосущесвовать в симбиозе с касперским, онже столько ресурсов жрёт, что сам хуже вируса.  

Вот старый сканер AVP v3 - вот это ВЕСч была (кстати на масме), работала быстро и вкусно.  smile 
   
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.2553 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.