RU:
Здравствуйте!
Я не очень хорошо пишу по английски, потому изложу более понятно на русском, т.к. вижу что темы с ответами русскоговорящих админов есть
И так, есть приложение, есть USB флешка.
Задача - привязать приложение конкретно и только к USB флешке, используя некие уникальные данные этой флешки, как регистрационные.
Возможно ли это реализовать?
В сторону каких EnigmaAPI смотреть?
EN:
Hello!
My english is very bad, but I try to write clearly as I can.
I have application and USB drive.
It's possible to lock this application bu this USB drive using some unique data from USB, for registration propouses?
That's possible?
In which EnigmaAPI I should use to realize that?
[RU/EN] USB lock protection
Re: [RU/EN] USB lock protection
Тоже интересно наиболее правильное решение этой задачи.
Как вариант - в блоке кода "закрытом" виртуальной машиной, проверять серийник флешки с помощью WinAPI. Вот только насколько это надежно с точки зрения совместимости с разными флешками\операционками и насколько устойчиво к взлому - вот вопрос.
Конечно для полного счастья хотелось бы добавить опцию привязки к флешке, аналогично тому как это сделано для жесткого диска.
Как вариант - в блоке кода "закрытом" виртуальной машиной, проверять серийник флешки с помощью WinAPI. Вот только насколько это надежно с точки зрения совместимости с разными флешками\операционками и насколько устойчиво к взлому - вот вопрос.
Конечно для полного счастья хотелось бы добавить опцию привязки к флешке, аналогично тому как это сделано для жесткого диска.
Re: [RU/EN] USB lock protection
Здравствуйте,
Для решения такой задачи надо использовать API протектора + собственный код (можно через систему плагинов, можно просто в приложении). Смысл идеи такой, определяем серийный номер флешки, используем его как регистрационное имя для ключа. Для проверки ключа используем функцию EP_RegCheckKey, потом загружаем имя и ключ с помощью EP_RegLoadKeyEx и сравниваем имя с серийным номером флешки.
Делать это через систему плагинов - более выгодный вариант. Надо перехватывать функцию OnKeyLoad, и возвращать серийный номер флешки в reg. name, так же перехватывать OnKeySave, и НЕ сохранять reg. name потому что оно у нас будет серийным номером флешки.
Чем трудна реализация такой функции в протекторе - на компьютере пользователя могут быть несколько флешек, и не понятно к какой именно надо привязать лицензию. Если делать какой то выбор для пользователя, типа выберите флешку для привязки, то это решение будет ну... достаточно не стандартным и не гибким.
Для решения такой задачи надо использовать API протектора + собственный код (можно через систему плагинов, можно просто в приложении). Смысл идеи такой, определяем серийный номер флешки, используем его как регистрационное имя для ключа. Для проверки ключа используем функцию EP_RegCheckKey, потом загружаем имя и ключ с помощью EP_RegLoadKeyEx и сравниваем имя с серийным номером флешки.
Делать это через систему плагинов - более выгодный вариант. Надо перехватывать функцию OnKeyLoad, и возвращать серийный номер флешки в reg. name, так же перехватывать OnKeySave, и НЕ сохранять reg. name потому что оно у нас будет серийным номером флешки.
Чем трудна реализация такой функции в протекторе - на компьютере пользователя могут быть несколько флешек, и не понятно к какой именно надо привязать лицензию. Если делать какой то выбор для пользователя, типа выберите флешку для привязки, то это решение будет ну... достаточно не стандартным и не гибким.