информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Там Microsoft вроде предоставляет какие-то групповые лицензии (то есть лицензия на 200 компов должна быть гораздо дешевле чем 200 лицензий). 15.08.01 11:50  Число просмотров: 775
Автор: Glory <Mr. Glory> Статус: Elderman
<"чистая" ссылка>
<programming>
[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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach