Как сделать приложение не переносимым? - PullRequest
0 голосов
/ 15 июля 2011

Я пытаюсь создать приложение, которое не должно переноситься между компьютерами илимежду пользователями одного компьютера.Какой лучший способ сделать это?

edit: By not portable Я имел в виду, что приложение не может быть использовано без его установки.т.е. переместить установленную папку на другой компьютер или другой логин пользователя на том же компьютере.

Как мы можем получить идентификатор, который всегда уникален для логина пользователя на компьютере?.

прошу прощения за мой плохой английский.

Ответы [ 3 ]

1 голос
/ 15 июля 2011

Почти независимо от того, какой механизм вы реализуете, другой пользователь всегда сможет декомпилировать программу и обойти то, что мешает запустить с относительной легкостью. Два исключения:

  • Перемещение функциональности клавиш + аутентификация в модули c. Это усложняет обход, но не делает невозможным

  • Перемещение функциональности клавиш + аутентификация в вызов программы, выполняемой на удаленном компьютере, которым вы управляете. Здесь другому пользователю необходимо повторно реализовать функцию (и) на основе ввода и вывода образца - прямое обратное проектирование невозможно.

Эти вопросы более подробно рассматриваются в ответах на связанный вопрос. Конечно, как указывают некоторые ответы, вам нужно определить, сколько неприятностей вы хотите решить, и стоит ли это того. Возможно, наивный контроль доступа к Python является достаточным сдерживающим фактором, даже если искусный программист может обойти это.

0 голосов
/ 15 июля 2011

Позвольте вашему сценарию установки скопировать некоторые модули вашей программы в каталог пользовательских приложений. В вашей программе добавьте этот путь к sys.path, чтобы импорт нашел ваши модули.

0 голосов
/ 15 июля 2011

Если вы хотите, чтобы доступ имел только один пользователь, вы должны создать своего рода «логин».

Для этого нужны ключи регистрации или активации.

http://en.wikipedia.org/wiki/Product_key

Вы включаете имя пользователя и некоторые идентификационные данные машины в ключ,

...