Здравствуйте.
В случаях, когда:
* модули в ключе реализуют тривиальные алгоритмы
* обмен данными с ключем фиксирован небольшим объемом и постоянен во времени
злоумышленники могут попытаться заменить Sense4.DLL своим аналогом (атака "Запись и Воспроизведение").
В свою очередь предлагаю пополнить арсенал приемом, представленным в
демонстрационном проекте по статической интеграции библиотек SenseLock-EL в managed code (MC++, С#, VS2008).
или
Детали описаны в ReadMe.txt.
Преимущества данного подхода:
+ Становится невозможна подмена Sense4.DLL, ввиду ее отсутствия
+ В модуле защиты можно реализовать любые дополнительные проверки, преобразования данных и т.д.
Недостатки:
- Практически всю защитную часть нужно будет написать на unmanaged языке
- Требуется дополнительный протектор для защиты скомпилированного неуправляемого кода (например, VMProtect).