информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителяГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Народ! Кто-нить писал дрова под винды???? 11.08.01 16:25  
Автор: Ruslan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
ЛЮДИИИИ!!!! Если кто-нить писал дрова под винды, то у меня есть вопрос - чем они отличаются от обычного Win32-приложения.
Просто необходимо написать прогу, которая будет следить в фоновом режиме, возможно кольцо 0-го уровня, за выполнением программы.
Нужно для отслеживания закрытия приложения и его рестарта, а также если апп выдает, что он Not Responded, чтобы драйвер или прога, я не знаю точно, его рестартил (в смысле апп).
[Win32] Народ! Кто-нить писал дрова под винды???? 11.08.01 17:40  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> ЛЮДИИИИ!!!! Если кто-нить писал дрова под винды, то у меня
> есть вопрос - чем они отличаются от обычного
> Win32-приложения.
Тем что драйвер имеет полный доступ к аппаратным ресурсам, а приложение - нет. То есть драйвер работает от учетной записи NTAUTHORITY/SYSTEM, а прога от имени текущего юзера
> Просто необходимо написать прогу, которая будет следить в
> фоновом режиме, возможно кольцо 0-го уровня, за выполнением
> программы.
> Нужно для отслеживания закрытия приложения и его рестарта,
> а также если апп выдает, что он Not Responded, чтобы
> драйвер или прога, я не знаю точно, его рестартил (в смысле
> апп).
Для этого драйвер необязательно писать, можно обычной прогой сделать.
[Win32] Народ! Кто-нить писал дрова под винды???? 11.08.01 19:20  
Автор: Ruslan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Для этого драйвер необязательно писать, можно обычной
> прогой сделать.
Слушай, если знаешь как, то хотелось бы услышать...
И все таки почему необязательно драйвер писать?
Исходник (внутри). 12.08.01 17:37  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
Если я тебя правильно понял, прога должна следить за другой прогой и если та закрывается - стартовать ее заново. Вот исходник подобной программы, которая стартует calc.exe и проверяет, не закрыт ли он. Если закрыт - стартует его опять. Реализация на VC++ 6.0, Win32 Application.
Конечно реализованный здесь алгоритм не защищен, то есть можно закрыть процесс этой программы, а потом и calc. Для обеспечения защиты необходимо реализовать программу в виде потока, который приаттачивает себя к другому процессу (лучше к сервису, напр. к csrss.exe).
==============================================================

#include "stdafx.h"
#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
STARTUPINFO info;
info.cb = sizeof(STARTUPINFO);
info.cbReserved2 = NULL;
info.lpReserved = NULL;
info.lpReserved2 = NULL;
info.dwFlags = STARTF_USESHOWWINDOW;
info.wShowWindow = SW_SHOW;
info.lpDesktop = NULL;
info.lpTitle = NULL;

PROCESS_INFORMATION *pinfo = new PROCESS_INFORMATION;
pinfo->dwProcessId = -1;

while (1)
{
if (!OpenProcess(PROCESS_QUERY_INFORMATION, false, pinfo->dwProcessId))
if (!CreateProcess("c:\\winnt\\system32\\calc.exe", NULL, NULL, NULL, true, NORMAL_PRIORITY_CLASS, NULL, NULL, &info, pinfo))
{
MessageBox(NULL, "Can not create process", "Error", MB_OK + MB_ICONHAND);
return -1;
}

Sleep(1000);
}

delete pinfo;
return 0;
}
[Win32] Народ! Кто-нить писал дрова под винды???? 12.08.01 12:13  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> Слушай, если знаешь как, то хотелось бы услышать...
Надо попробовать написать что-нить в таком духе. Если получится - напишу исходник.
> И все таки почему необязательно драйвер писать?
Драйвер необязательно писать потому, что не надо иметь прямого доступа к аппаратуре для того чтобы закрыть какое-либо приложение. Вот подумай сам - грузишь ты операционку, запускается шелл, который "связывает" тебя с операционкой (в виндах это Explorer.exe). Из шелла ты можешь запускать и закрывать приложения, которые в принципе закрывает шелл. Но ведь explrorer работает не как драйвер, а как обычная прога...
[Win32] Народ! Кто-нить писал дрова под винды???? 12.08.01 22:02  
Автор: Ruslan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Слушай, если знаешь как, то хотелось бы услышать...
> Надо попробовать написать что-нить в таком духе. Если
> получится - напишу исходник.
> > И все таки почему необязательно драйвер писать?
> Драйвер необязательно писать потому, что не надо иметь
> прямого доступа к аппаратуре для того чтобы закрыть
> какое-либо приложение. Вот подумай сам - грузишь ты
> операционку, запускается шелл, который "связывает" тебя с
> операционкой (в виндах это Explorer.exe). Из шелла ты
> можешь запускать и закрывать приложения, которые в принципе
> закрывает шелл. Но ведь explrorer работает не как драйвер,
> а как обычная прога...
Привет! Так вот задача и стоит как раз написать свой шелл. Эксплорер не катит, по причине низкой безопасности. По правде сказать перспектива писать свой шелл - не очень, но другого пути я не нашел. Хотя можно заменить 98 форточки на 2000, но на это не пойдет начальство. Слушай, если у тебя есть еще идеи буду очень признателен...
P.S. Спасибо за исходник.
Ставь Win2k. 14.08.01 12:18  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
> Хотя можно заменить 98 форточки на
> 2000, но на это не пойдет начальство.
Почему? Ты начальству то скажи, что в Win2k и безопасность в 100 раз выше, и устойчивость и вообще Win98 операционкой то трудно назвать.
Поэтому ставишь Win2k, в ключе HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ создаешь значение RestrictRun=0x00000001 (типа DWORD), потом создаешь в этом ключе ключ RestrictRun и прописываешь туда значения типа "1" = notepad.exe, "2" = mspaint.exe, etc.
Вообще, для повышения безопасности можно кучу всяких возможностей запретить, ограничить доступ к реестру и т. д.
В любом случае, настроить систему на приемлемый уровень безопасности будет проще, чем писать собственный шелл. Просто я свой шелл как-то писал, и знаю какой это гимор.
Ставь Win2k. 15.08.01 03:09  
Автор: Ruslan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Да я уже говорил тысячу раз!!!! Даже не одну просто понимаешь 200 компов!!! и на все лицензию покупать... ну сам понимаешь...
Без лицензии они не будут работать!
Вот в этом и есть вся проблема. Поэтому придется писать свой шелл.
Блин, как это не противно....
Там Microsoft вроде предоставляет какие-то групповые лицензии (то есть лицензия на 200 компов должна быть гораздо дешевле чем 200 лицензий). 15.08.01 11:50  
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach