Обфускация приложения

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума
Ответить
Аватара пользователя
Juri
I/O
I/O
Сообщения: 262
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Обфускация приложения

Сообщение Juri »

Как защитить свое приложение, чтобы его не возможно было сломать за 5 минут по инструкции из интернетов?
У меня происходит чтение файла ключа и его сравнение со сгенерированным в [Unique Computer ID.vi]. В случае если ключ подходит, то дальше идет инициализация программы.
Если не подходит, то запускается диалог, который предлагает отправить производителю ПО (т.е. мне) зашифрованный файл, содержащий сгенерированный файл ключа. А я потом этот файл ключа передаю обратно клиенту в расшифрованном виде.
Вложения
Computer ID.7z
(65.41 КБ) 29 скачиваний
Screenshot_5.png
Screenshot_5.png (9.45 КБ) 850 просмотров
Последний раз редактировалось Juri 24 ноя 2023, 09:02, всего редактировалось 1 раз.
Sergey Puzanov
assistant
assistant
Сообщения: 108
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 23 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Обфускация приложения

Сообщение Sergey Puzanov »

Один из вариантов - хранить пароли локально где-нибудь, и самому их настраивать на ПК заказчика. У нас в некоторых системах, как вариант, пароли хранятся в реестре, а лучше ещё и шифрованные. Посмотреть смогут только те, кто знает об этом, и только на данном ПК, сам по себе код пароля не будет содержать.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2196
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 25 раз

Re: Обфускация приложения

Сообщение Borjomy_1 »

Нежелательно проверку лицензии выполнять отдельной VI. Тогда ее легко заменить. У меня, например, проверка выполняется непосредственно в VI, которая выполняет базовый алгоритм. Ей передается файл ключа. А необходимые индивидуальные параметры системы получаю через вызовы консоли в этой же VI.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3924
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 125 раз
Контактная информация:

Re: Обфускация приложения

Сообщение dadreamer »

Я бы посоветовал не изобретать велосипед, а использовать что-то более менее устоявшееся, например тулкит для лицензирования Third-Party Licensing and Activation Toolkit: https://www.vipm.io/package/ni_lib_tplat/ Хотя, как говорят, против лома нет приёма. Даже тот, кто :labview: первый раз в жизни видит, при очень большом желании может вскрыть и изучить приложение (как пример). Единственное, что можно сделать, - немножко усложнить хакерам задачу, применив нормальную систему лицензирования самого софта, с ключами и прочим. Это всё равно не панацея на 100%, но пользователей среднего уровня остановит от "копания" в коде.
FredP
beginner
beginner
Сообщения: 11
Зарегистрирован: 19 апр 2020, 01:22
Версия LabVIEW: 2019
Благодарил (а): 1 раз
Поблагодарили: 3 раза
Контактная информация:

Re: Обфускация приложения

Сообщение FredP »

Borjomy_1 писал(а): 24 ноя 2023, 09:17 Нежелательно проверку лицензии выполнять отдельной VI. Тогда ее легко заменить. У меня, например, проверка выполняется непосредственно в VI, которая выполняет базовый алгоритм. Ей передается файл ключа. А необходимые индивидуальные параметры системы получаю через вызовы консоли в этой же VI.
Недавно сломал такую защиту. Открыл systemexec.vi с помощью hmilch, переключил ее на нереентерабельную. В результате защищенный код запросил переменные системы, вот я их здесь и скопировал на машине с лицензией. На другой машине заменил systemexec.vi которая на такие запросы всегда отвечает валидной информацией :brows:
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2196
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 25 раз

Re: Обфускация приложения

Сообщение Borjomy_1 »

Если данные, полученные от systemexec, использовать в дальнейшей работе, то подмена ничего не даст.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1306
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Поблагодарили: 31 раз
Контактная информация:

Re: Обфускация приложения

Сообщение AndreyDmitriev »

Juri писал(а): 24 ноя 2023, 07:03 Как защитить свое приложение, чтобы его не возможно было сломать за 5 минут по инструкции из интернетов?
Мы USB донлгом защищаем. Вот этим: http://www.matrixlock.de/english/e_technd.htm
Там в комплекте идут библиотеки 32/64 бит, ну а дальше — насколько фантазии хватит.
Бонусом там идёт то, что в донгл можно записать три сотни пользовательских байтов, так что мы можем "разлочивать" программные опции, просто меняя заказчику донгл, если он доп опции позже докупает.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Общие»