![]() |
Help! Требуется написать Аналог Microsoft Security Centre
Всем доброго всемени суток
Накануне диплома появилась проблема с созданием программы. Вообще программа должна оценивать уровень безопасности на компе. Чем-то подобным является интегрированый в Windows Центр Безопасности , выводящий инфу о защищённости компьютера и показываюшего актуальность баз обновления. необходимо реализовать следующие шаги программа-клиент 1)ставится на комп 2)запускается 3)соединяется к серверу ( который я почти написал уже), на котором хранится инфа о существующем в его базе защитном ПО и его рейтинге 4)качает с сервера необходимые данные для проверки машины ( название + тип ПО ( антивирь,файрвол и тд) + путь в реестре + путь в реестре + на инфу о версии обновления ) на примере NOD Smart Security это что то вроде "NOD32 Smart Security" "Antivirus" HKEY_LOCAL_MACHINE\SOFTWARE\Eset\ESET Security\ HKEY_LOCAL_MACHINE\SOFTWARE\Eset\ESET Security\CurrentVersion\Info (тут находится ключ Scanner Version со значением "4055 (20090506)" ) 5) Из скачаного списка идёт проверка на наличие этого ПО на машине ( поиск по реестру ) 6) отправляет полученный список найденого ПО и версии его обновлений на сервер сервер принимает данные, сверяет какое на машине стоит ПО и как оно обновлено и сверяет со своей базой ( это уже частично написано ) С сервером я разберусь, а вот с клиентом получилась реальная запара. Программы-аналоги в сети есть, исходников их я не смог найти ( оно и понятно ) чем-то наподобие является программа Belarc Advisor . ХЕЛП! Языки - С++ либо C# п.с. может быть кто сможет посоветовать, где я могу найти отдельные части ( например реализацию поиска по реестру, скачку через инет с базы данных и тд ) |
Если говорить о языках то советую брать С# на нем быстрее можно написать то что нужно и у него есть хорошая система классов. Если бы было побольше времени можно было бы оформить как опенсорсный проект, тема интересная и нужная поэтому желающих помочь было бы достаточно. Жаль что я не прикасался к С# уже давно поэтому могу помочь только советами.
|
да я тоже остановился на C#
пишу под дотнет) |
А языки можно использовать только C++ и C#? Или всё же возможно использование других?
|
я честно говоря больше по базам как-то ) поэтому если честно вопрос не очень понимаю)
пишу под дотнет ) если там можно на нескольких языках разные части реализовывать - тогда не принципиально) |
Для поиска в реестре есть класс в .Net
Microsoft.Win32.Registry (http://msdn.microsoft.com/en-us/libr....registry.aspx ) Для подключения клиента к серверу по tcp сокеты: http://msdn.microsoft.com/en-us/libr...ts.socket.aspx Для подключения к бд тебе нужно использовать ADO.NET (если ты писал сервер с бд, то скорее всего уже использовал ADO.NET) А вообще тебе нужно перед тем как начинать писать определиться с архитектурой приложений (разделить какие именно методы должны работать на сервере а какие на клиенте, построить объектную модель приложений (системы в целом)) Далее определить и описать протокол взаимодействия клиента с сервером (определить комманды используемые, ответы на эти комманды, действие по истечению таймаута и прочее), решить как вообще будет происходить взаимодействие - через сокеты, COM+, служба сообщений или прочее. Если нужна помощь в написании пиши в ЛС, обсудим. Могу кинуть хорошие книжки по дот нет. |
гранд мерси
сейчас разберусь) если будут вопросы,обращусь по ходу! ) |
Кстати, вспомнил что WMI имеет возможность выводить список установленных программ! Может тогда и не надо будет в реестре рыться. Я небольшую прогу на Питоне накатал, которая по сети отправляет кой-какую инфу о системе. Если интересно, могу выложить.
|
Кстати, можно использовать скрипты на MS PowerShell . Полная поддержка классов .Net, лёгкий доступ к WMI, готовые скрипты на многое ))
|
Да в любом случае - к WMI можно доступ иметь почти со всего что хочешь =) Включая C/C++/C# . Так что дерзай! Для примера: вот код получения информации о юзерах из WMI на Питоне:
Код:
def GetUsers(SID=1, Status=1): |
| Время: 09:15 |