Я хочу разработать способ предотвращения пиратства моего приложения или, по крайней мере, сделать его более сложным. Приложение будет установлено на автономном ПК, и я хочу, чтобы человеку было сложно просто скопировать установку или клонировать жесткий диск и просто развернуть ее на втором ПК. Использует MAC-адрес наилучшим образом? Как насчет использования WMI для получения идентификатора материнской платы?Блокировка приложения Java на конкретном ПК
ответ
Вы можете сгенерировать идентификатор машины на основе MAC-адреса сетевой карты или на основании имени компьютера (более слабая защита), а затем создать алгоритм, который преобразует идентификатор машины в ключ активации.
Таким образом, вы можете активировать программу на основе уникального идентификатора на основе ПК. Однако нет простого способа вычислить уникальный идентификатор машины в JAva ... Если вы запускаете свое приложение только в Windows, вы можете прочитать некоторые другие аппаратные значения от WMI и микшировать (например, вы могли бы смешивать последовательный последовательный порт серии HD + MB + CPU Serial + Mac Address) в один ключ, это должно обеспечить лучшую защиту.
Имейте в виду, что если вы поместите систему защиты в свое приложение, вы также должны по меньшей мере запутать ваш байт-код, потому что java-байт-код легко декомпилируется, и один программист, который декомпилирует ваше приложение, сможет обнаружить и использовать алгоритм, который вы интегрировали для кода проверки ...
Я лично считаю, что использование идентификаторов внутри машины не очень дружелюбное к вашему клиенту. Что происходит, когда они получают новую машину и хотят установить программное обеспечение, которое они юридически приобрели на своей новой машине?
Если вы собираетесь реализовать что-то подобное, я считаю, что лучше создать какой-то ключ установки и отправить его в управляемый веб-сервис. Затем вы можете увидеть, используется ли определенный ключ и деактивировать его.
Нормальные java средства не существуют, насколько мне известно. Например, UUID, который обычно должен хешировать с использованием MAC-адреса, в реализации java не так. Что вы можете сделать, распространяет приложение через WebStart, обеспечивая регулярный механизм обновления и проверку лицензии.
- 1. Firefox svg анимация зависает на конкретном ПК
- 2. блокировка приложения
- 3. Номер набора на телефоне Android из приложения Java на ПК
- 4. Запуск приложения vaadin на ПК
- 5. Многие ошибки в WAMP для php на конкретном ПК
- 6. Блокировка Java на нескольких блокировщиках
- 7. Сделать запуск приложения java при запуске ПК
- 8. Java мобильного приложения для управления ПК
- 9. Запуск приложения Java на сервере с моего ПК
- 10. Блокировка Java на многоуровневых серверах
- 11. Блокировка переменной приложения ASP.NET
- 12. asp.net Блокировка объекта приложения
- 13. Блокировка Java tryLock на нескольких JVM
- 14. Блокировка приложения от выполняемого
- 15. Java не работает на моем ПК
- 16. qt + mysql запуск приложения на другом ПК
- 17. Как установить приложения для Android на ПК
- 18. Для тестирования мобильного приложения на ПК
- 19. Обновление приложения на ПК с заблокированным пользователем
- 20. Java IFSFile на тестировании Iseries на ПК
- 21. Java - как распечатать PDF на конкретном принтере?
- 22. Блокировка на наличие файла в Java
- 23. Смещенная блокировка в java
- 24. Блокировка ввода в Java
- 25. Многопоточная блокировка в Java
- 26. Безопасная блокировка потоков Java
- 27. Блокировка приложения для Android. Идеи?
- 28. Блокировка обновления приложения после мод
- 29. Блокировка очередей async Java
- 30. Блокировка файлов Java
вы уже потеряли ... –
Насколько определяется/квалифицирован злоумышленник, которому нужно победить? Могут ли они перехватывать и переинтерпретировать системные вызовы, которые 'java.lang.Runtime' и' java.io. * 'используют для проверки таких вещей? Вам нужно беспокоиться о том, что приложение Java установлено на клонированные экземпляры VMWare, которые сообщают о тех же машинных идентификаторах? –
Действительно ли ваше приложение стоит того, чтобы приложить усилия? Если это не так, зачем беспокоиться? Если это так, кто-то легко взломает его, и это ваши усилия потрачены впустую. – biziclop