|
1 / 1 / 0
Регистрация: 10.06.2019
Сообщений: 21
|
|
Алгоритм для лицензии21.07.2021, 11:17. Показов 5057. Ответов 9
Всем доброго времени суток.
Мне нужно сделать проверку лицензии в программе. Как я это вижу. Пользователь получает ключ вместе с программой. Когда он её запускает, то программа на сервер отправляет Mac компьютера и, введённый пользователем, ключ на сервер. Сервер сравнивает ключ и Mac с тем, что находится в БД и возвращает ответ true/false. Проблема заключается в том что: 1) Если зареверсинженерить программу у пользователя и прочитать код на ассемблере, то можно легко увидеть, что после проверки условия, если получает 1,то программа начинает работать, если нет, то заканчивает. 2) Можно вовсе убрать строчку с проверкой ключа Как я могу от этого обезопасить свою программу?
0
|
|
| 21.07.2021, 11:17 | |
|
Ответы с готовыми решениями:
9
Лицензии для Windows Server 2016 для работы с 1С |
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
||
| 21.07.2021, 14:14 | ||
|
Возможно ли вытащить информацию из приложения(думаю да) и как защитить данные от такого действия? С другой стороны стоит ли вообще париться насчет взлома программы? Если это какой-то локальный и дешевый проект (типа БД для парикмахерской) который используется практически только в ней, то ее скорее всего даже пытаться взламывать не будут. Кому она сдалась? Другое дело если бы ты делал прорывное ПО, которое в итоге попадет на миллионы компьютеров или какую-нибудь GTA5.
0
|
||
|
Just Do It!
|
|||
| 21.07.2021, 15:17 | |||
|
вынести часть функционала программы на сервер.
0
|
|||
|
Модератор
|
|
| 21.07.2021, 16:20 | |
|
Старайтесь как можно меньше применять стандартные функции (особенно API-шные) и компоненты VCL. Так что Assembler, Assembler и еще раз Assembler
Применяйте нестандартный способ ввода пароля Не храните введенный код в одном месте Не храните введенный код открытым текстом Ни в коем случае не анализируйте код сразу после его ввода Не проверяйте код только в одном месте и не пишите для проверки функцию Не проверяйте пароль одним алгоритмом Ни в коем случае не предпринимайте никаких действий после проверки Отвлекающие маневры Не храните результатов проверки в переменной и не используйте ее для явного ограничения функций незарегистрированной программы Не храните результатов проверки на диске или в реестре Не определяйте дату и время стандартными способом Не стоит хранить что-либо секретное в файлах или реестре Не храните ничего важного открытым текстом, особенно сообщения типа "Это незарегистрированная версия ...", "Введенный пароль не верен ..."
1
|
|
|
1 / 1 / 0
Регистрация: 10.06.2019
Сообщений: 21
|
||
| 21.07.2021, 16:46 [ТС] | ||
Добавлено через 19 минут Может есть какие-то способы, которые запрещают дизассемблировать программу вообще? Даже, если только в теории, но тогда, где можно про это почитать?
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 21.07.2021, 17:31 | |
|
Ну вообще говоря, можно смотреть дизассемблированные процессы запущенной на виртуальной машине операционной системы целиком. Так что смысла смотреть в этом направлении нет. Ответы сервера тоже могут отлавливаться/подменяться, так что ждать приёма просто true/false глупо, нужно проверять что-то нетривиальное и шифрованное.
Добавлено через 2 минуты Но опять же, если полезность продукта средненькая, то заморачиваться с суперзащитой для него - "овчинка выделки не стоит"
0
|
|
|
1 / 1 / 0
Регистрация: 10.06.2019
Сообщений: 21
|
|
| 21.07.2021, 17:54 [ТС] | |
|
Понятно... Спасибо тогда за советы
0
|
|
|
Неэпический
|
||
| 21.07.2021, 20:16 | ||
|
Но, еще добавили вторичную приколюху - если игра ломанная, то ближе к концу из-за чудовищного уровня пиратства игру пройти невозможно. И сидели себе тихо какое-то время, читая жалобы пользователей на форуме.
1
|
||
|
|
||
| 28.07.2021, 11:32 | ||
Сообщение было отмечено GribBob как решение
Решениепричём здесь дизассемблер? "запретить" дизассемблирование возможно только в одном случае - если файл не имеет структуры PE. но тогда и загрузчик windows не сможет загрузить этот файл в память. во-первых, ваша программа должна быть написана так, чтобы от дизассемблирования не было никакого толка - чтобы реверсер увидел только обычные структуры, предопределенные функции и прочую мишуру от которой никакого толку без данных. во-вторых, взлом программ осуществляется в динамике, т.е. тогда, когда ваша программа загружена в память и работает, и к ней есть данные. обычно хакер покупает ключ/лицензию и дебажит её от ntdll.dll до OEP, прокладывая трассу. далее из этой трассы убирается всё лишнее, пересобирается импорт и выкладывается ломаный файл. и вот здесь вам и нужно думать над своей защитой, которая называется anti-debug. для примитива - забейте в гугле anti-debug и смотрите примеры как скрывают Nt функции от отладчика. такой способ подойдёт для защиты от мамкиных кулхацкеров, которые только и могут всего лишь открыть отладчик и ни черта не понять что там написано. для более продвинутого anti-debug'а создают виртуальные машины и замусоривают код обфускацией. в таком случае добраться до OEP могут только единицы. понятное дело, что вирт вы не напишите, поэтому если ваш проект некомерс, скачайте vmprotect 3 версии и накройте вашу прогу защитой.
0
|
||
| 28.07.2021, 11:32 | |
|
Помогаю со студенческими работами здесь
10
Лицензии для Webuserов Пакет документов для подтверждения лицензии Подтверждение лицензии Windows 10 (для проверяющих) Какие лицензии нужны для управления истребителем? Какие лицензии нужны для открытия хотспота Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|