Необходим специалист для реализации полного цикла разработки и сопровождения драйвера клавиатуры и мыши для Windows. Основная задача — создать драйвер, библиотеку для взаимодействия, и выполнить их регистрацию и цифровую подпись.
Обязанности:
1. Разработка драйвера клавиатуры и мыши:
o Написание драйвера на C с использованием Windows Driver Kit (WDK).
o Работа с HID-протоколом для управления устройствами ввода.
o Настройка и компиляция драйвера с использованием Visual Studio в связке с WDK.
o Учет спецификаций USB и HID, обеспечение совместимости драйвера с Windows 7 и выше.
2. Создание библиотеки DLL:
o Разработка DLL для взаимодействия с драйвером на языке C++.
o Реализация методов для работы с API драйвера, включая инициализацию, управление устройствами и обработку событий.
o Использование C++/CLI или других подходов для обеспечения связи библиотеки с другими языками/платформами.
3. Тестирование:
o Настройка среды отладки с использованием WinDbg для анализа драйвера.
o Использование Driver Verifier для выявления проблем в работе драйвера.
o Тестирование работы драйвера и библиотеки в условиях реального использования.
4. Регистрация и цифровая подпись драйвера:
o Использование расширенных цифровых сертификатов для подписания драйвера (EV Code Signing Certificate).
o Регистрация драйвера через Azure Dev Portal или аналогичные сервисы Microsoft для распространения.
o Учет требований WHQL (Windows Hardware Quality Labs) для сертификации драйвера, если это потребуется.
5. Сопровождение:
o Внесение исправлений и обновлений в драйвер по мере необходимости за дополнительную плату.
o Пересборка драйвера и библиотеки с последующей цифровой подписью и регистрацией новых версий.
Требования к кандидату:
• Языки программирования:
o Уверенное владение C (для драйверов) и C++ (для DLL).
o Знание стандартов C99 и C++11 (или выше).
• Разработка драйверов:
o Практический опыт работы с Windows Driver Kit (WDK).
o Опыт написания драйверов Kernel-Mode (KMDF, UMDF).
o Понимание особенностей работы с IRP (I/O Request Packets) в Windows.
o Знание HID и USB-спецификаций.
o Навыки работы с API уровня ядра Windows.
• Отладка и тестирование:
o Владение инструментами отладки драйверов, включая WinDbg и Driver Verifier.
o Умение анализировать дампы памяти для устранения ошибок.
o Опыт тестирования драйверов на виртуальных и физических машинах.
• Цифровая подпись и регистрация:
o Опыт подписания драйверов с использованием EV Code Signing Certificate.
o Понимание процессов регистрации драйвера через Azure Dev Portal и работы с Microsoft Hardware Dashboard.
o Знание требований к цифровой подписи для драйверов на Windows 10 и выше (особенно в UEFI Secure Boot).
• Библиотеки DLL:
o Опыт разработки динамических библиотек на C++.
o Навыки создания интерфейсов для взаимодействия с драйвером через API.
Дополнительные требования:
• Опыт написания драйверов для USB-устройств будет большим плюсом.
• Знание PowerShell для автоматизации процессов сборки и регистрации драйвера.
• Опыт работы с WHQL для сертификации будет преимуществом.
Условия:
• Частичная занятость: проектная работа с возможностью долгосрочного сотрудничества.
• Удаленный формат, гибкий график.
• Оплата договорная, ориентировочно $1000 + накладные расходы.
Если у вас есть опыт в разработке драйверов, регистрации их в Microsoft, и вы готовы реализовать проект с последующей поддержкой, отправьте свое резюме и примеры выполненных работ на
hr@keyran.net