Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
100000 ₽

драйвера мониторинга операций ОС

project expired


Техническое задание на разработку драйвера мониторинга операций, происходящих в операционной системе

Описание:
Драйвер является частью системы по мониторингу действий, выполняемых процессами в операционой системе. Суть драйвера: накапливать и передавать данные о произошедших событиях во внешний процесс. Данные между драйвером и внешним процессом передаются в бинарном виде посредством функции DeviceIoControl (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216(v=vs.85).aspx) . Поэтому хранимые данные должны сериализовываться/десериализовываться.

Структура хранимых данных:
Процесс -> Потоки -> Операции.
Каждый процесс может содержать один и более потоков. Каждый поток может выполнять сколько угодно операций.
При сериализации/десериализации данных данная иерархия должна сохраняться.

Каждый процесс должен содержать данные, представленные в объекте класса Process (класс реализован в прилагающихся исходных файлах).
Каждый поток должен содержать данные, представленные в объекте класса Thread (класс реализован в прилагающихся исходных файлах).

Типы обрабатываемых операций:
    - файловые операции;
    - операции по созданию/завершению процесса/потока;
    - операции по работе с реестром;
    - операции по работе с интернетом.
   
Разработка проекта подразделяется на несколько этапов, первым из которых является реализация мониторинга файловых операций. Каждая файловая операция должна содержать информацию, представленную в объекте класса FileOperation (класс реализован в прилагающихся исходных файлах).

Реализация остальных этапов проекта оплачивается отдельно.

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

Требования к разрабатываемому продукту:
Поддерживаемые операционные системы: Windows XP - Windows 10
Разрядность драйвера: x86 и x64

Требования к программному обеспечению:
Среда разработки: Microsoft Visual Studio 2017
Язык разработки: C++ (желательно использовать стандарт 11 или 14)
Юнит-тестирование: написание unit-тестов с использованием фреймворка gtest (https://github.com/google/googletest/blob/master/googletest/docs/Documentation.md)
Система контроля версий: git
Использование фреймворков: если требуется использование дополнительных фреймворков, это необходимо согласовать с заказчиком.

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

Документирование продукта:
Основным видом документирования продукта являются комментарии к исходному коду. Комментарии должны быть написаны к каждому прототипу функции. Комментарий данного типа должен раскрыть суть функции. Дополнительно, необходимо писать комментарии внутри функций для используемого алгоритма и причины его использования, если он не является тривиальным или очевидным.

Стиль кодирования:
Используемый стиль кодирования приведен в исходных файлах прилагаемого к техническому заданию проекта.

Тестирование разработанного драйвера:
    - юнит-тесты;
    - функциональное тестирование - необходимо разработать утилиту, демонстрирующую взаимодействие с драйвером (получение информации о процессах, потоках и операциях от драйвера);
    - стресс-тестирование - драйвер должен корректно работать в критических условиях (при 100% загрузке ЦП и/или 100% загрузке жесткого диска);
    - тестирование использования системных ресурсов - драйвер должен корректно использовать память и иные системные ресурсы (не должно быть утечек ресурсов)

Applications 1

Only registered users can view attachments.

  1. 31 days50000 ₴
    Микола Ф.
     1944  verified   52   1

    Привет готов помочь вам! Напишите мне , начну прям щас. Можете поговорить в скайпе со мной , нужно уточнить детали?

    Ukraine Kyiv | 6 October 2017 |

Project published
7 October 2017
90 views