@iunostb

Как распространять ПО методом 1 USB-флешка = 1 программа?

Доброго времени суток! Есть ПО, которое заказчик хочет распространять с помощью USB-флешек (вопрос почему оставим за кадром), соответственно есть следующие критерии:
1) Запуск приложения только через флешку
2) Зашита от копирования с флешки (в идеале, конечно, защита от чтения содержимого)
3) Желательное взаимодействие с пользователем следующее: вставил флешку, сразу появилось окно приложения, погнал работать, поработал(сохранил результат на компе), вытащил и прога закрылась
Пока что не до конца представляю какой вообще алгоритм действий здесь нужен и какие программы для этого использовать.
Буду благодарен любой помощи!
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
Хэш(хэш(S/N флешки)+хеш(UUID раздела на флешке)) или что-нибудь в этом роде. Конкретный алгоритм хеша - по выбору разработчика. Можно еще контрольную сумму от исполняемого файла добавить. Или вычесть. Или умножить... и т.п. Плюс парочка ложных хэшей, вычисляемых по другим формулам для запутывания взломщиков.

Скопировать можно, но каждый экземпляр программы запускается лишь при наличии конкретной флешки. Не только при копировании файлов, но и при клонировании раздела с флешки не пройдёт проверку и не запустится.
Как любое применение принципа security through obscurity, будет хреновой защитой от хорошего специалиста. Но услуги хакеров стоят дорого, а рядовые сисадмины не хотят (и обычно не умеют) ковыряться в отладчике. Так что на практике такая "защита из г-на и палок" имеет шанс на успех, если цена лицензионного ПО будет не слишком высокой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Fzero0
@Fzero0
Вечный студент
Использование USB-флешек это путь в никуда, скорее всего вашему заказчику нужно смотреть в сторону Software as a service (SaaS) («Программное обеспечение как услуга»)
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Любое стандартное использование флеш-диска тут не годится, если программу можно запустить с диска, то её можно и прочитать. Если нельзя прочитать, то нельзя и запустить.
Разве что сделать микрокомпьютер, на котором будет работать сервер приложения, а с диска только запускать внешний интерфейс, обменивающийся с сервером по USB.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Нелепый заказчик - нелепые требования...

Если
Запуск приложения только через флешку

Как-то еще можно реализовать, проверяя, откуда запустилась программа

если
вставил флешку, сразу появилось окно приложения

можно реализовать, сделав так, чтобы флэшка прикидывалась приводом и автостартовала,

то
Зашита от копирования с флешки

сделать нереально.
Ответ написан
Комментировать
@ton1
флешка нужна не простая а с аппаратным шифрованием. были такие массового производства что с кнопочками ввода кода, что под отпечаток - суть едина - пока не проделаешь некоторые действия файлы не добыть.
Ну и вариант железных ключей, т.е. специальный криптомодуль на usb чтоб программа туда лазила за уникальным номерком, но опять же это уже не совсем флешка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы