- Глубокое знание C++ и системного API:
○ Стандарты: Уверенное владение C++14/17/20
○ System API: Умение работать с POSIX для получения уникальных идентификаторов «железа» (HWID): серийные номера дисков, UUID материнской платы, MAC-адреса
○ Низкоуровневый код: Навыки работы с реестром, файловой системой на уровне драйверов или защищенных хранилищ.
- Криптография и безопасность:
○ Алгоритмы: Понимание принципов работы асимметричного шифрования (RSA, ECC) для проверки цифровых подписей лицензионных ключей
○ Хеширование: Работа с SHA-256/3
○ Библиотеки: Опыт работы с OpenSSL, Crypto++, mbed TLS или аналогичными
○ Протоколы: Реализация защищенного обмена данными между приложением и сервером лицензий (TLS, HTTPS).
- Защита кода (Anti-Tamper & Anti-Reverse):
○ Обфускация: Применение техник запутывания кода
○ Anti-Debugging: Умение внедрять проверки на наличие отладчиков
○ Anti-Hooking: Защита функций проверки лицензии от подмены (инъекций)
○ Целостность: Контроль контрольных сумм секций кода приложения
○ Кроссплатформенность: Если ПО работает на разных ОС, разработчик должен уметь писать абстракции, которые одинаково надежно работают везде
○ Интеграция: Проектирование модуля как слабосвязанного компонента (SDK), который легко внедрить в основной продукт
- Опыт с готовыми решениями (желательно):
○ Опыт работы с коммерческими системами защиты или внедрение Open Source решений для управления лицензиями