1

Тема: ID устройства

Каким образом можно защитить контроллер от записи в него диаграммы, а точнее использование диаграммы созданной только для контроллера с определённым ID и именно запись диаграммы в контроллер при помощи утилиты автоматической записи. Запустил созданный EXEшник подключил контроллер прога его опознала и записалась, ежели нет то нет. А теперь для чего это нужно, чтоб не крали и копировали программу, и так же чтоб не тестировать каждый контроллер перед установкой. Прошивальщик и установщик могут быть совершенно разными людьми, что туда зашьёт прошивальщик не понятно и потом установщик потеет где то в поле и пытается оживить соворшенно не работающее оборудование, на это будет тратиться драгоценное время человека, которое он мог потратить по своему усмотрению, в дальнейшем сложится впечатление что оборудование г..о, а если узнает что накосячил прошивальщик то вредить ему начнёт. Это интересует как для 7 так и для 5 моделей контроллеров. СПАСИБО.

2

Re: ID устройства

У каждого контроллера любой модели выпущенных в последнее время есть 32-битный уникальный идентификатор устройства: http://wiki.canny.ru/index.php?title=CA … 0.B2.D0.B0

Так же, его можно увидеть при запуске SFX (exe) файла созданного в CannyLab и подключении контроллера к ПК (см.вложение)

Системное ПО и диаграмма в контроллер запишется в любом случае, а вот будет ли она полностью работоспособна - может решить создатель диаграммы, опираясь на ID устройства полученного из системных регистров контроллера.

Вы можете создать отдельный SFX для конкретного экземпляра контроллера или для нескольких.

Можно применить и более универсальный подход, с использованием Параметров пользовательской конфигурации: http://wiki.canny.ru/index.php?title=CA … 0%B8%D0%B8

Таким образом, можно внутри диаграммы производить расчет "ключа активации" например так:

Пользователь запускает SFX и подключает контроллер, после чего сообщает ID (например 51B75617) устройства автору диаграммы.
Автор диаграммы рассчитывает по этому ID некое число-ключ, например вычитает из ID секретное число 1A2B3C4D и сообщает результат (378C19CA) пользователю, который вводит его в поля параметров SFX и записывает ПО в контроллер. После чего, при запуске контроллера диаграмма прибавляет к значению регистров пользовательского параметра секретное число, которое в виде константы автор поместил в диаграмму, сравнивает полученный результат с  регистрами ID устройства и если они совпадают, начинает нормальную работу.

Вместо простого сложения-вычитания можно использовать и более сложные манипуляции с ключом, чтобы повысить криптостойкость алгоритма.

Вложений в сообщении

canmonsfx.png, 34.35 кб, 601 x 367
canmonsfx.png 34.35 кб, скачивался 347 раз, последний раз 2016-03-27