Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Как я могу предотвратить копирование программы на другой компьютер? Я нахожу и проверяю ProcessorId с помощью следующего программного обеспечения.
LOCAL lcComputer, loWMIService,loItemCollection
lcComputer = "."
loWMIService = GetObject("winmgmts:\\" + lcComputer + "\root\cimv2")
loItemCollection = loWMIService.ExecQuery("SELECT * FROM Win32_Processor",,48)
For Each loItem in loItemCollection
? "ProcessorId: " + loItem.ProcessorId
NEXT

iF ALLTRIM(user1)==us1.and.alltrim(pass1)==loItem.ProcessorId
     DO prog.prg
ELSE
    quit
ENDIF


Если ProcessorId тот же, тогда программа запускается. В противном случае не должен запускатся.
Но проблема в том, что эта программа находит собственный ProcessorId для каждого компьютера и на каждом компьютере запускается. Помогите пожалуйста, как можно делать так что программа запускалась только на этом компютера?

Сообщение было отредактировано: 28 фев 21, 09:31
28 фев 21, 09:35    [22287465]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Я хотел сделать так: Когда впервые запускается программа, она отправляет ProcessorId этого компьютера мне на маил. (Он этого не знает / не замечает) Я отправляю ему обратно этот ProcessorId в качестве пароля на текстовом файле. Но, не получается отправить маил. Помогите пожалуйста, как можно делать такое?
Или есть ли другие идеии, как вообще делается это?

Сообщение было отредактировано: 28 фев 21, 11:04
28 фев 21, 11:06    [22287473]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
PaulWist
Member

Откуда:
Сообщений: 2300
1. Защита проги - что такого ценного в вашей нетленке?

Общий вывод, защитить от копирования не получится.

Используйте любой простой способ, хоть проверку на существование файла, от чайника поможет.

2.
Arimle
.. Но, не получается отправить маил.


Поиск по CDO.Message
28 фев 21, 12:06    [22287487]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
PaulWist,

Я уже использую проверку на существование файла. Но, этот файл один для всех компьютеров и при копирование этот файл тоже можно копировать.
28 фев 21, 12:33    [22287499]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
И еще если я сам буду установить программу, тогда нет проблем. А если другой человек, который не должен знать об этом файле, тогда как?

Про CDO.Message я искал и здесь, и фоксклубе, не нащел не 1 работающий код. Или плохо искал...

Сообщение было отредактировано: 28 фев 21, 12:54
28 фев 21, 12:56    [22287505]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3905
Arimle,

через ввод "серийного номера" при первом запуске и прописка с/н в файл в какое-нибудь место о котором не будет знать другой человек

Сообщение было отредактировано: 28 фев 21, 12:57
28 фев 21, 13:04    [22287508]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Alex_Ustinov
Arimle,

через ввод "серийного номера" при первом запуске и прописка с/н в файл


Как это делается, не можете объяснить, пожалуйста.
И это "первом запуск" для 2-го компьютера тоже будеть и на 2-м компьютера не будеть программа работать?

Сообщение было отредактировано: 28 фев 21, 13:19
28 фев 21, 13:22    [22287514]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3905
Arimle,

при запуске идет поиск файла с "серийником" (закодированным как вам хочется) этот файл можно сделать "скрытым"
при переносе программы человек который не знает что этот файл существует и при запуске программы будет запрос проверка сущ-я файла и проверка серийника в нем /
если ф. не существует - запрос серийника, далее - ввел правильно - кодированный серийник пишется в секретный файл, при следующем запуске проверка проходит успешно, все нормально, программа запускается.
автор
И это "первом запуск" для 2-го компьютера тоже будеть и на 2-м компьютера не будеть программа работать?
а вы чего добиваетесь "защитой"?
Таких схем штук 11599, как комаров в летний знойный вечер на пруду.
Придумывайте какой хотите.
В дистре VFP9 насколько помню был установщик, и пример какой-то функции генерации сер-нума. Давно это было, смутные воспоминания.
Тут вопрос в другом, что "глубокие функции" генерации-проверки будут требовать админских прав
28 фев 21, 13:56    [22287528]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3905
естественно серийник прошит в программе (лучше также в каком нить файле) либо генерируется из каких то данных о ПК
28 фев 21, 14:22    [22287533]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Alex_Ustinov,
Мой код, на 1-м посту не такой же код как Вы говорите?
28 фев 21, 15:01    [22287548]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Alex_Ustinov
Arimle,

при запуске идет поиск файла с "серийником" (закодированным как вам хочется) этот файл можно сделать "скрытым"
при переносе программы человек который не знает что этот файл существует и при запуске программы будет запрос проверка сущ-я файла и проверка серийника в нем /
если ф. не существует - запрос серийника, далее - ввел правильно - кодированный серийник пишется в секретный файл, при следующем запуске проверка проходит успешно, все нормально, программа запускается.


Можно ли видеть такой код? Что-то, я не могу понять кака это делается.
28 фев 21, 17:52    [22287597]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Arimle
Alex_Ustinov
Arimle,

при запуске идет поиск файла с "серийником" (закодированным как вам хочется) этот файл можно сделать "скрытым"
при переносе программы человек который не знает что этот файл существует и при запуске программы будет запрос проверка сущ-я файла и проверка серийника в нем /
если ф. не существует - запрос серийника, далее - ввел правильно - кодированный серийник пишется в секретный файл, при следующем запуске проверка проходит успешно, все нормально, программа запускается.


Можно ли видеть такой код? Что-то, я не могу понять как это делается.
28 фев 21, 17:53    [22287598]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Dima T
Member

Откуда:
Сообщений: 16063
Arimle
PaulWist,

Я уже использую проверку на существование файла. Но, этот файл один для всех компьютеров и при копирование этот файл тоже можно копировать.

Все можно скопировать. Просто этот файл должен быть не там где все остальные. Сохрани в профиле пользователя
? GETENV('LOCALAPPDATA')

ProcessorId не советую использовать, не каждый проц дает его прочитать.
28 фев 21, 19:46    [22287626]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Dima T, спасибо.
Это я понял.
Я не понимаю вот это: допустим я нащел серийник винта или processorid и допустим это записал в тхт файл. Когда программа запускается проверяем этот файл.
В другом компьютера тоже самый будет происходить: Программа найдет серийник винта или processorid и программа будеть запускатся и в этом компьютера. И так программа будеть запускатся на всех компьютеров. Я хочу что, программа без моего разрешение не запускалась, типа как регистрация что-ли

Сообщение было отредактировано: 28 фев 21, 20:26
28 фев 21, 20:30    [22287636]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
Ну, Вам уже описали примерную схему. Еще раз опишу отдельно

1. При первом запуске сохраняете прочитанное значение в каком-либо файле.
1.1. Если нет файла или в файле нет значения - первый запуск - регистрация. Запись значения в файл
1.2. Если есть значение в файле - не первый запуск и надо сравнить прочитанное значение с сохраненным значением.
1.2.1. Сохраненное в файле значение равно прочитанному - все в порядке, можно работать
1.2.2. Сохраненное в файле значение отличается от прочитанного - приложение скопировано. Запрет запуска или запрос на регистрацию

Поскольку речь идет о FoxPro, то логичным решением является сохранение этого значения в файле DBF. Но можно и обычный TXT для этого использовать.

Правда, Вам также уже сказали, что не стоит оно того. Кончится это тем, что Вы сами же все это отключите. Впрочем, попробуйте...
1 мар 21, 11:03    [22287770]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Добрый день,

Пожалуйста, оценивайте мой код.
Принцип такой: При 1-м запуске программы USERS.DBF-ID пусто будеть. И ProcessorID запишем туда. Программа проверяет user, password и ProcessorID. Если все правильно программа работает.

К сообщению приложен файл (Users.rar - 1Kb) cкачать
4 мар 21, 12:10    [22289528]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
Я сам тестировал, думаю что, нормально работает. Скажите пожалуйста, какие минусы может быть, каторый я не вижу данный момент?

Сообщение было отредактировано: 5 мар 21, 09:19
5 мар 21, 09:17    [22290066]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
_MBK_, Спасибо.
Я понимаю конечно и постараюсь еще что-нибудь придумать. Но, данный момент главная цель была для установки я не ходил к клиенту. И клиент не могли копировать в другой комр который у него уже есть
6 мар 21, 16:54    [22290697]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
Arimle
Я сам тестировал, думаю что, нормально работает. Скажите пожалуйста, какие минусы может быть, каторый я не вижу данный момент?


Вопрос не в выбранном алгоритме (он то как раз рабочий), а в самой идее пароля/логина. Это для коммерческих организаций вопрос денег. А у Вас-то в чем вопрос? Тоже в деньгах?

Если говорить о конкретной реализации, то

1. WMI может быть отключен администратором или пользователем.
2. Запрошенный реквизит может быт недоступен для чтения
3. Крайне не разумно для идентификации использовать некие внешние (по отношению к FoxPro) библиотеки. Просто очень часто, что именно будет возвращено зависит от используемого для определения этой информации приложения. А если изменится версия приложения, может измениться и возвращаемое значение
4. Слабое место любого приложения, работающего с файлами - это сами файлы. Они могут быть повреждены или заблокированы сторонним приложением. Например, очень часто такая блокировка возникает как следствие работы антивируса. Касперский очень часто такое делает

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

Если Ваша цель - это сделать некие настройки при первичной регистрации приложения, то сделайте такой пункт меню в Вашем приложении (или отдельный EXE для первичной настройки). Пусть пользователь после копирования (или после повреждения настроечных файлов) сам запустит этот пункт меню и выполнит необходимые настройки

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

PS: В Вашем коде вообще отсутствует какой-либо обработчик ошибок. Например, если нет нужного файла DBF? Предполагается, что есть какой-то глобальный обработчик? Настроенный до вызова данной формы?
7 мар 21, 18:48    [22290935]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
Arimle
Member

Откуда:
Сообщений: 71
ВладимирМ, Спасибо за детальный обясненине.
Моя цель - сделать настройки при первичной регистрации приложения и чтобы для установки я не ходил к клиенту. И клиенты не могли копировать в другой комп. который у него уже есть.

И знаете мне что интересно, конкретный для этого целя (настройки при первичной регистрации и защита от копирование) я не нащел ни одного кода.
7 мар 21, 21:33    [22290979]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
Ну, защиты от копирования нет, потому что для FoxPro она не предусматривалась изначально. А сейчас уже и не нужна

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

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

Как перенести готовое приложение на машину клиента

Т.е. при помощи некоего внешнего приложения создаете дистрибутив Вашего приложения, который просто запускается у клиента. И там делает все необходимые настройки. Если кроме расположения файлов, регистрации и создания нужной структуры каталогов требуются какие-то дополнительные программные действия, то у программ-инсталяторов обычно предусмотрен вариант запуска некоего приложения по окончании установки. Но эта дополнительная программа у каждого будет своя, поэтому также не может быть общего решения.
8 мар 21, 21:17    [22291279]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
tandem
Member

Откуда:
Сообщений: 4
Почитайте про DeFoxIV
https://forum.foxclub.ru/read.php?29,474763,857090,view_spoiler=857090:1#bbcode_spoiler_anchor_857090_1
Во вложении help.

К сообщению приложен файл (help_ru.zip - 130Kb) cкачать
16 апр 21, 19:40    [22310003]     Ответить | Цитировать Сообщить модератору
 Re: Защита от копирования  [new]
AK-Shah
Member

Откуда:
Сообщений: 155
Во времена DOS защищали от копирования путем записи какой-нибудь последовательности символов в область жесткого диска, идущая за MBR, без создания файла. Сейчас такие низкоуровневые операции, наверное, ОС не даст выполнить.
5 июн 21, 08:32    [22331692]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить