Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Способы реализации триальности программы (Какие можно придумать способы реализации триал-версий?)
Способы реализации триальности программы
СергейДата: Сб, 12 Сентября 2009, 23:43 | Сообщение # 241
Необукер
Quote (VadimLevkin)
Полагаю этот плагин будет весьма полезен
по сути функции у него специфичны, и кроме, как применить в таймере(см урок), я не вижу других задач... Но мне плаг помог здорово, но если бы у нас небыло такого провайдера, плагина бы небыло.

Добавлено (12 Сентябрь 2009, 23:39)
---------------------------------------------

Quote (Peter)
Кстати, еще может вот этот плагин пригодится...
у меня плагин выдает одни нули, а пример DEMBEL показывает нормально

Добавлено (12 Сентябрь 2009, 23:43)
---------------------------------------------
Вадим ты в инете использовал скрипт, мне в частности интересно какое мыло приходит юзеру

 
Сообщение
Quote (VadimLevkin)
Полагаю этот плагин будет весьма полезен
по сути функции у него специфичны, и кроме, как применить в таймере(см урок), я не вижу других задач... Но мне плаг помог здорово, но если бы у нас небыло такого провайдера, плагина бы небыло.

Добавлено (12 Сентябрь 2009, 23:39)
---------------------------------------------

Quote (Peter)
Кстати, еще может вот этот плагин пригодится...
у меня плагин выдает одни нули, а пример DEMBEL показывает нормально

Добавлено (12 Сентябрь 2009, 23:43)
---------------------------------------------
Вадим ты в инете использовал скрипт, мне в частности интересно какое мыло приходит юзеру


Автор - Сергей
Дата добавления - 12 Сентября 2009 в 23:43
DEMBELДата: Вс, 13 Сентября 2009, 04:19 | Сообщение # 242
Наш дизайнер
Quote (sp3d)
у меня плагин выдает одни нули

Не у одного тебя, некоторые люди на оф. форуме тоже говорят об этом. А у меня он работает.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (sp3d)
у меня плагин выдает одни нули

Не у одного тебя, некоторые люди на оф. форуме тоже говорят об этом. А у меня он работает.

Автор - DEMBEL
Дата добавления - 13 Сентября 2009 в 04:19
ВадимДата: Вс, 13 Сентября 2009, 12:07 | Сообщение # 243
Генератор идей
Quote (sp3d)
интересно какое мыло приходит юзеру
Мой хостинг на NIC.RU. В поле "От кого" прописан служебный адрес моего хоста с моим идентификатором пользователя (в примере Identifikator).
Получается адрес вида Имя пользователя + <Адрес>:
User Identifikator <Identifikator@web07.nic.ru>
Я думаю можно и по-человечески сделать, с переадресацией или чтобы от имени моего домена письма отсылались, но я этого не делал еще, не знаю как.

Quote (sp3d)
по сути функции у него специфичны
Я увидел в плагине не столько специфичность, сколько детализированность функций, мне показалось, что это как раз то, что может понадобиться (например, чтобы грамотно перехватывать ошибки или правильно реагировать на события в системе). Но пока рано об этом говорить.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (sp3d)
интересно какое мыло приходит юзеру
Мой хостинг на NIC.RU. В поле "От кого" прописан служебный адрес моего хоста с моим идентификатором пользователя (в примере Identifikator).
Получается адрес вида Имя пользователя + <Адрес>:
User Identifikator <Identifikator@web07.nic.ru>
Я думаю можно и по-человечески сделать, с переадресацией или чтобы от имени моего домена письма отсылались, но я этого не делал еще, не знаю как.

Quote (sp3d)
по сути функции у него специфичны
Я увидел в плагине не столько специфичность, сколько детализированность функций, мне показалось, что это как раз то, что может понадобиться (например, чтобы грамотно перехватывать ошибки или правильно реагировать на события в системе). Но пока рано об этом говорить.

Автор - Вадим
Дата добавления - 13 Сентября 2009 в 12:07
СергейДата: Пн, 14 Сентября 2009, 09:46 | Сообщение # 244
Необукер
Quote (VadimLevkin)
Мой хостинг на NIC.RU.
Очень замечательно, но я не адресс спрашивал, а содержимое. Т.е. когда на почтовик приходит письмо и юзер открывает его для чтения, мне интересно его содержание, вернее не само содержание, а кодировочка :)

Добавлено (14 Сентябрь 2009, 09:46)
---------------------------------------------
Если надо могу дать свое мыло, но только для теста :D

 
Сообщение
Quote (VadimLevkin)
Мой хостинг на NIC.RU.
Очень замечательно, но я не адресс спрашивал, а содержимое. Т.е. когда на почтовик приходит письмо и юзер открывает его для чтения, мне интересно его содержание, вернее не само содержание, а кодировочка :)

Добавлено (14 Сентябрь 2009, 09:46)
---------------------------------------------
Если надо могу дать свое мыло, но только для теста :D


Автор - Сергей
Дата добавления - 14 Сентября 2009 в 09:46
DEMBELДата: Пн, 14 Сентября 2009, 20:00 | Сообщение # 245
Наш дизайнер
Вы видели плаг NeoSQLite 3 Client/Server Plugin v011 мож пригодится?

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеВы видели плаг NeoSQLite 3 Client/Server Plugin v011 мож пригодится?

Автор - DEMBEL
Дата добавления - 14 Сентября 2009 в 20:00
ВадимДата: Пн, 14 Сентября 2009, 20:10 | Сообщение # 246
Генератор идей
Quote (DEMBEL)
Вы видели плаг
Спасибо за ссылку! Нет, не попадался. Я правда по описанию не допер что именно он делает. Мне показалось, что позволяет читать базу данных с сервера в интернете. ?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (DEMBEL)
Вы видели плаг
Спасибо за ссылку! Нет, не попадался. Я правда по описанию не допер что именно он делает. Мне показалось, что позволяет читать базу данных с сервера в интернете. ?

Автор - Вадим
Дата добавления - 14 Сентября 2009 в 20:10
Alex3AДата: Пн, 14 Сентября 2009, 20:24 | Сообщение # 247
Друг клуба ММВ
Quote (sp3d)
вернее не само содержание, а кодировочка

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

Добавлено (14 Сентябрь 2009, 20:24)
---------------------------------------------

Code
Content-Type: image/jpeg;
  name="log.jpg"
Content-Type: text/html;
  charset="windows-1251"
Content-Type: text/plain;
  charset="koi8-r"
 
Сообщение
Quote (sp3d)
вернее не само содержание, а кодировочка

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

Добавлено (14 Сентябрь 2009, 20:24)
---------------------------------------------

Code
Content-Type: image/jpeg;
  name="log.jpg"
Content-Type: text/html;
  charset="windows-1251"
Content-Type: text/plain;
  charset="koi8-r"

Автор - Alex3A
Дата добавления - 14 Сентября 2009 в 20:24
ВадимДата: Пн, 14 Сентября 2009, 20:44 | Сообщение # 248
Генератор идей
Quote (sp3d)
кодировочка

Quote (Alex3A)
Посмотри формат почтового сообщения
Посмотрел исходный код страницы сформированного письма.
Имеется строка:
<META http-equiv="content-type" content="text/html; charset=windows-1251">


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (sp3d)
кодировочка

Quote (Alex3A)
Посмотри формат почтового сообщения
Посмотрел исходный код страницы сформированного письма.
Имеется строка:
<META http-equiv="content-type" content="text/html; charset=windows-1251">

Автор - Вадим
Дата добавления - 14 Сентября 2009 в 20:44
СергейДата: Вт, 15 Сентября 2009, 10:19 | Сообщение # 249
Необукер
Quote (VadimLevkin)
Посмотрел исходный код страницы сформированного письма.
Вадим будь проще :D , я же не внутрености просил.
Quote (sp3d)
юзер открывает его для чтения
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки :D . Я к чему спрашиваю, раньше, если не использовать строку (которую ты удалил) письмо приходило абракадаброй. Но видать все нормально, раз ты их не увидел(логично! о как :D )

Добавлено (15 Сентябрь 2009, 10:19)
---------------------------------------------

Quote (DEMBEL)
Вы видели плаг NeoSQLite 3 Client/Server Plugin v011 мож пригодится?
для соединения не катит, вот что там написанно, где надо держать БД(офсайт)
Quote
[database]: the SQLite Database name. It must be placed on the Server component folder.
пробывал подключатся к вертуальному, ничего не получается...
 
Сообщение
Quote (VadimLevkin)
Посмотрел исходный код страницы сформированного письма.
Вадим будь проще :D , я же не внутрености просил.
Quote (sp3d)
юзер открывает его для чтения
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки :D . Я к чему спрашиваю, раньше, если не использовать строку (которую ты удалил) письмо приходило абракадаброй. Но видать все нормально, раз ты их не увидел(логично! о как :D )

Добавлено (15 Сентябрь 2009, 10:19)
---------------------------------------------

Quote (DEMBEL)
Вы видели плаг NeoSQLite 3 Client/Server Plugin v011 мож пригодится?
для соединения не катит, вот что там написанно, где надо держать БД(офсайт)
Quote
[database]: the SQLite Database name. It must be placed on the Server component folder.
пробывал подключатся к вертуальному, ничего не получается...

Автор - Сергей
Дата добавления - 15 Сентября 2009 в 10:19
ВадимДата: Вт, 15 Сентября 2009, 11:26 | Сообщение # 250
Генератор идей
Quote (sp3d)
я же не внутрености просил
И слава богу, мне они еще самому нужны! :D

Quote (sp3d)
я не адресс спрашивал, а содержимое
C содержимым все в полном порядке. Всё читается, абракадабры нет. :) См. мыло, отправил тебе письмо с проги.

For DEMBEL



Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
VadimLevkin - Вт, 15 Сентября 2009, 11:41
 
Сообщение
Quote (sp3d)
я же не внутрености просил
И слава богу, мне они еще самому нужны! :D

Quote (sp3d)
я не адресс спрашивал, а содержимое
C содержимым все в полном порядке. Всё читается, абракадабры нет. :) См. мыло, отправил тебе письмо с проги.

For DEMBEL


Автор - Вадим
Дата добавления - 15 Сентября 2009 в 11:26
Alex3AДата: Вт, 15 Сентября 2009, 11:55 | Сообщение # 251
Друг клуба ММВ
Quote (sp3d)
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки

Энто почтовик усе смотрит, так сказать его интерпритатор, протокол передает сообщение
в виде блока циферь а уж как их воспринимать дело третье.
А вот когда в энтом блоке не указали правильно кодировку, то и получаются кракозяблы.
 
Сообщение
Quote (sp3d)
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки

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

Автор - Alex3A
Дата добавления - 15 Сентября 2009 в 11:55
ВадимДата: Чт, 09 Июня 2011, 15:16 | Сообщение # 252
Генератор идей
Недавно попалась на глаза статья, решил выложить в этой теме.

Для интересующихся темой защиты Shareware-программ, небольшая статья о разнообразных способах защиты программ от нелегального копирования (можно использовать и для организации триальности программы):
Теория защиты программ от взлома (Автор: gackt)

Добавлено (09 Июнь 2011, 15:16)
---------------------------------------------

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

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

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

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

Для большинства юзеров это будет уже слишком...

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

Quote (Вадим)
Мне кажется, я понял, почему плагин hpwUtility глючил при разархивации!

Как оказалось, баг был все-таки в самом плагине:


Сейчас уже существует версия hpwUtility 2.16
Только я скачать пока не могу (у кого скачивается - отзовитесь).

Была бы полезна какая-то утилита, умеющая напоминать о новых версиях плагинов.
Может эта? Кто-нить юзал ее уже?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеНедавно попалась на глаза статья, решил выложить в этой теме.

Для интересующихся темой защиты Shareware-программ, небольшая статья о разнообразных способах защиты программ от нелегального копирования (можно использовать и для организации триальности программы):
Теория защиты программ от взлома (Автор: gackt)

Добавлено (09 Июнь 2011, 15:16)
---------------------------------------------

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

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

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

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

Для большинства юзеров это будет уже слишком...

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

Quote (Вадим)
Мне кажется, я понял, почему плагин hpwUtility глючил при разархивации!

Как оказалось, баг был все-таки в самом плагине:


Сейчас уже существует версия hpwUtility 2.16
Только я скачать пока не могу (у кого скачивается - отзовитесь).

Была бы полезна какая-то утилита, умеющая напоминать о новых версиях плагинов.
Может эта? Кто-нить юзал ее уже?

Автор - Вадим
Дата добавления - 09 Июня 2011 в 15:16
СергейДата: Чт, 09 Июня 2011, 16:38 | Сообщение # 253
Необукер
Quote (Вадим)
Только я скачать пока не могу
ссылка битая, я тоже не могу скачать.

Добавлено (09 Июнь 2011, 16:38)
---------------------------------------------

Quote (Вадим)
Может эта? Кто-нить юзал ее уже?
а самому сделать лень?
Я скачивал ее, но она мне не понравилась, походу прога сделана на НБ
 
Сообщение
Quote (Вадим)
Только я скачать пока не могу
ссылка битая, я тоже не могу скачать.

Добавлено (09 Июнь 2011, 16:38)
---------------------------------------------

Quote (Вадим)
Может эта? Кто-нить юзал ее уже?
а самому сделать лень?
Я скачивал ее, но она мне не понравилась, походу прога сделана на НБ

Автор - Сергей
Дата добавления - 09 Июня 2011 в 16:38
NecronomiconДата: Чт, 09 Июня 2011, 19:26 | Сообщение # 254
Участник
Quote (Вадим)
Сейчас уже существует версия hpwUtility 2.16 Только я скачать пока не могу

hpwUtility 2.16
 
Сообщение
Quote (Вадим)
Сейчас уже существует версия hpwUtility 2.16 Только я скачать пока не могу

hpwUtility 2.16

Автор - Necronomicon
Дата добавления - 09 Июня 2011 в 19:26
ВадимДата: Чт, 09 Июня 2011, 19:30 | Сообщение # 255
Генератор идей
Necronomicon, спасибо!!!

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеNecronomicon, спасибо!!!

Автор - Вадим
Дата добавления - 09 Июня 2011 в 19:30
СергейДата: Чт, 09 Июня 2011, 20:03 | Сообщение # 256
Необукер
 
Сообщение

Автор - Сергей
Дата добавления - 09 Июня 2011 в 20:03
NecronomiconДата: Чт, 09 Июня 2011, 20:11 | Сообщение # 257
Участник
 
Сообщение

Автор - Necronomicon
Дата добавления - 09 Июня 2011 в 20:11
СергейДата: Чт, 09 Июня 2011, 20:31 | Сообщение # 258
Необукер

Necronomicon, спасибо за плаг!
 
Сообщение

Necronomicon, спасибо за плаг!

Автор - Сергей
Дата добавления - 09 Июня 2011 в 20:31
ВадимДата: Чт, 09 Июня 2011, 20:50 | Сообщение # 259
Генератор идей


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение

Автор - Вадим
Дата добавления - 09 Июня 2011 в 20:50
СергейДата: Чт, 09 Июня 2011, 21:27 | Сообщение # 260
Необукер
 
Сообщение

Автор - Сергей
Дата добавления - 09 Июня 2011 в 21:27
ВадимДата: Чт, 09 Июня 2011, 21:32 | Сообщение # 261
Генератор идей


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение

Автор - Вадим
Дата добавления - 09 Июня 2011 в 21:32
СергейДата: Чт, 09 Июня 2011, 21:42 | Сообщение # 262
Необукер
сейчас посмотрел на диске, она у меня есть, если нужна?!, то выложу.

Добавлено (09 Июнь 2011, 21:37)
---------------------------------------------

Quote (Вадим)
Так бы нажал кнопочку и обновился
но обновится ты через ту прогу не сможешь, только удалить или установить плагин. Может в платной и есть обновлялка. Там кнопочка есть типа БД, но нажав на нее поподаешь на страницу покупки

Добавлено (09 Июнь 2011, 21:42)
---------------------------------------------

Quote (Сергей)
ейчас посмотрел на диске, она у меня есть, если нужна?!, то выложу.
ошибочка вышла, у меня другая прога :)
 
Сообщениесейчас посмотрел на диске, она у меня есть, если нужна?!, то выложу.

Добавлено (09 Июнь 2011, 21:37)
---------------------------------------------

Quote (Вадим)
Так бы нажал кнопочку и обновился
но обновится ты через ту прогу не сможешь, только удалить или установить плагин. Может в платной и есть обновлялка. Там кнопочка есть типа БД, но нажав на нее поподаешь на страницу покупки

Добавлено (09 Июнь 2011, 21:42)
---------------------------------------------

Quote (Сергей)
ейчас посмотрел на диске, она у меня есть, если нужна?!, то выложу.
ошибочка вышла, у меня другая прога :)

Автор - Сергей
Дата добавления - 09 Июня 2011 в 21:42
ВадимДата: Пн, 13 Июня 2011, 05:58 | Сообщение # 263
Генератор идей
Quote (Сергей)
но обновится ты через ту прогу не сможешь, только удалить или установить плагин.
Ну, нет, тогда она зачем? Сергей, а ты, случайно, не путаешь эту "обновлялку" с прогой пакетной установки/удаления плагинов?

Добавлено (09 Июнь 2011, 21:44)
---------------------------------------------

Quote (Сергей)
ошибочка вышла

Ты меня опередил! :)

Добавлено (10 Июнь 2011, 11:52)
---------------------------------------------

Quote (Вадим)
Как оказалось, баг был все-таки в самом плагине:
Changes 2.13:(14.09.2010)
BugFix: hpwUnZipString was still not stable.


Да, в hpwUtility версии 2.16 баг при распаковке архива (когда дописывались лишние символы) более не наблюдается!! Спасибо разработчику, Хансу-Петеру Викерну! :)

Добавлено (13 Июнь 2011, 05:58)
---------------------------------------------
В развитие темы.

По каким системным файлам и по каким еще вещам на компе пользователя можно определить реальную (а не выставленную пользователем) дату на компьютере пользователя?

Две версии вопроса:

1) Будем считать, что на компьютере пользователя есть доступ к интернет, но наше приложение не использует его для проверки даты (поскольку на момент запуска программы интернет может быть недоступен).

2) Как проще всего проверить дату именно через интернет?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Сергей)
но обновится ты через ту прогу не сможешь, только удалить или установить плагин.
Ну, нет, тогда она зачем? Сергей, а ты, случайно, не путаешь эту "обновлялку" с прогой пакетной установки/удаления плагинов?

Добавлено (09 Июнь 2011, 21:44)
---------------------------------------------

Quote (Сергей)
ошибочка вышла

Ты меня опередил! :)

Добавлено (10 Июнь 2011, 11:52)
---------------------------------------------

Quote (Вадим)
Как оказалось, баг был все-таки в самом плагине:
Changes 2.13:(14.09.2010)
BugFix: hpwUnZipString was still not stable.


Да, в hpwUtility версии 2.16 баг при распаковке архива (когда дописывались лишние символы) более не наблюдается!! Спасибо разработчику, Хансу-Петеру Викерну! :)

Добавлено (13 Июнь 2011, 05:58)
---------------------------------------------
В развитие темы.

По каким системным файлам и по каким еще вещам на компе пользователя можно определить реальную (а не выставленную пользователем) дату на компьютере пользователя?

Две версии вопроса:

1) Будем считать, что на компьютере пользователя есть доступ к интернет, но наше приложение не использует его для проверки даты (поскольку на момент запуска программы интернет может быть недоступен).

2) Как проще всего проверить дату именно через интернет?


Автор - Вадим
Дата добавления - 13 Июня 2011 в 05:58
СергейДата: Пн, 13 Июня 2011, 07:27 | Сообщение # 264
Необукер
1-А:когда будет доступен инет
Б: оставлять метку при закрытии, а при запуске проверять, если разброс ><24 метки, то "подкрутили"(способ бредовый, тут надо придумать алгоритм)
В: Проверить время биоса, но там тоже может быть изменен. Недумаю, что твои пользователи будут туда лезть...Хотя, кто его знает.
2-тут


Сообщение отредактировано
Сергей - Пн, 13 Июня 2011, 07:42
 
Сообщение1-А:когда будет доступен инет
Б: оставлять метку при закрытии, а при запуске проверять, если разброс ><24 метки, то "подкрутили"(способ бредовый, тут надо придумать алгоритм)
В: Проверить время биоса, но там тоже может быть изменен. Недумаю, что твои пользователи будут туда лезть...Хотя, кто его знает.
2-тут

Автор - Сергей
Дата добавления - 13 Июня 2011 в 07:27
ВадимДата: Пн, 13 Июня 2011, 21:13 | Сообщение # 265
Генератор идей

Добавлено (13 Июнь 2011, 21:13)
---------------------------------------------

Quote (Сергей)
1-А:когда будет доступен инет

Quote (Сергей)
2-тут
И там, и там одна и таже ссылка.

Quote (Сергей)
Проверить время биоса, но там тоже может быть изменен.
А как проверить его время? В биосе отсчет времени ведется от даты установки, какая была выставлена в дистрибутиве биоса? И далее, если ее не меняли, то отсчет ведется от нее?

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


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение

Добавлено (13 Июнь 2011, 21:13)
---------------------------------------------

Quote (Сергей)
1-А:когда будет доступен инет

Quote (Сергей)
2-тут
И там, и там одна и таже ссылка.

Quote (Сергей)
Проверить время биоса, но там тоже может быть изменен.
А как проверить его время? В биосе отсчет времени ведется от даты установки, какая была выставлена в дистрибутиве биоса? И далее, если ее не меняли, то отсчет ведется от нее?

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

Автор - Вадим
Дата добавления - 13 Июня 2011 в 21:13
СергейДата: Вт, 14 Июня 2011, 01:13 | Сообщение # 266
Необукер
Quote (Вадим)
А как проверить его время?
очень возможно, что я сказал глупость. Как вариант, что при смене время на компе, автоматом меняется время в биосе(?!) Эту тему надо гуглить, и проверять, а мне хотца такие эксперементы :D
Но навсякий случай проверил в vbs WMI(Win32_BIOS) нет получение даты.
Я тут подумал, но корректно обойти это мало шансов :( Незачто зацепиться. Тут только mfr? но точность?!
1-Записать время запуска и при закрытии тоже Записать
2-Записать время работы компа
3-Придумать алгоритм проверка/анализ на искажение...
Могу только помочь с получением время работы компа и дата инстала винды, есть пару вариантов, вот один:
Quote (cmd)
.systeminfo | find "Время работы системы:"
.systeminfo | find "Дата установки:"
.net statistics workstation | find "Статистика после"

Quote (NB)
Run "cmd" "/c net statistics workstation | find [#34]Статистика после[#34]>>[#34][TempDir]datainstal1.txt[#34]&exit" "Wait+Hidden" "" "[cmd1]"
.OUT >> Статистика после ДД/ММ/ГГГГ ЧЧ:ММ AM
Run "cmd" "/c systeminfo | find [#34]Дата установки:[#34] >>[#34][TempDir]datainstal2.txt[#34]&exit" "Wait+Hidden" "" "[cmd2]"
.OUT >> Дата установки: дд.мм.гггг, чч:мм:сс
Run "cmd" "/c systeminfo | find [#34]Время работы системы:[#34] >>[#34][TempDir]worksys.txt[#34]" "Wait+Hidden" "" "[cmd3]"
.OUT >> Время работы системы: 0 дн., 2 час., 15 мин, 38 сек.
и функция на vbs getDateInstalWinVBS(Дата установки винды)
запуск:
Quote
Call "getDateInstalWinVBS" "[result]"
.[result] вернет строку=дд.мм.гггг, чч:мм:сс
А время работы системы на vbs, надо поискать пример. У меня сходу не получилось. Вернее был один вариант через "Журнал событий"? но а если он отключен. Позже посмотрю еще раз...

Добавлено (14 Июнь 2011, 01:13)
---------------------------------------------
Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную. Если системная дата "чудесным" образом стало на месяц меньше, то делать выводы :)
Прикрепления: getDateInstalWi.rar (0.6 Kb)


Сообщение отредактировано
Сергей - Вт, 14 Июня 2011, 01:20
 
Сообщение
Quote (Вадим)
А как проверить его время?
очень возможно, что я сказал глупость. Как вариант, что при смене время на компе, автоматом меняется время в биосе(?!) Эту тему надо гуглить, и проверять, а мне хотца такие эксперементы :D
Но навсякий случай проверил в vbs WMI(Win32_BIOS) нет получение даты.
Я тут подумал, но корректно обойти это мало шансов :( Незачто зацепиться. Тут только mfr? но точность?!
1-Записать время запуска и при закрытии тоже Записать
2-Записать время работы компа
3-Придумать алгоритм проверка/анализ на искажение...
Могу только помочь с получением время работы компа и дата инстала винды, есть пару вариантов, вот один:
Quote (cmd)
.systeminfo | find "Время работы системы:"
.systeminfo | find "Дата установки:"
.net statistics workstation | find "Статистика после"

Quote (NB)
Run "cmd" "/c net statistics workstation | find [#34]Статистика после[#34]>>[#34][TempDir]datainstal1.txt[#34]&exit" "Wait+Hidden" "" "[cmd1]"
.OUT >> Статистика после ДД/ММ/ГГГГ ЧЧ:ММ AM
Run "cmd" "/c systeminfo | find [#34]Дата установки:[#34] >>[#34][TempDir]datainstal2.txt[#34]&exit" "Wait+Hidden" "" "[cmd2]"
.OUT >> Дата установки: дд.мм.гггг, чч:мм:сс
Run "cmd" "/c systeminfo | find [#34]Время работы системы:[#34] >>[#34][TempDir]worksys.txt[#34]" "Wait+Hidden" "" "[cmd3]"
.OUT >> Время работы системы: 0 дн., 2 час., 15 мин, 38 сек.
и функция на vbs getDateInstalWinVBS(Дата установки винды)
запуск:
Quote
Call "getDateInstalWinVBS" "[result]"
.[result] вернет строку=дд.мм.гггг, чч:мм:сс
А время работы системы на vbs, надо поискать пример. У меня сходу не получилось. Вернее был один вариант через "Журнал событий"? но а если он отключен. Позже посмотрю еще раз...

Добавлено (14 Июнь 2011, 01:13)
---------------------------------------------
Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную. Если системная дата "чудесным" образом стало на месяц меньше, то делать выводы :)

Автор - Сергей
Дата добавления - 14 Июня 2011 в 01:13
СергейДата: Вт, 14 Июня 2011, 02:00 | Сообщение # 267
Необукер
Вот функция OperatingSystem
Вызов:
Call "OperatingSystem"
Возращает переменные:
[CurrentTimeZone]=временная зона(600)
[InstallDate]= указывает дату установки(ДД/ММ/ГГГГ ЧЧ:ММ:СС,может возращать пустую)
[LastBootUpTime]=время последней загрузки операционной системы(ДД/ММ/ГГГГ ЧЧ:ММ:СС)
[LocalDateTime]=локальная дата и время операционной системы.(ДД/ММ/ГГГГ ЧЧ:ММ:СС)
[RegisteredUser]=пользователь, на которого зарегистрирована ос
Прикрепления: OperatingSystem.rar (0.5 Kb)


Сообщение отредактировано
Сергей - Вт, 14 Июня 2011, 02:10
 
СообщениеВот функция OperatingSystem
Вызов:
Call "OperatingSystem"
Возращает переменные:
[CurrentTimeZone]=временная зона(600)
[InstallDate]= указывает дату установки(ДД/ММ/ГГГГ ЧЧ:ММ:СС,может возращать пустую)
[LastBootUpTime]=время последней загрузки операционной системы(ДД/ММ/ГГГГ ЧЧ:ММ:СС)
[LocalDateTime]=локальная дата и время операционной системы.(ДД/ММ/ГГГГ ЧЧ:ММ:СС)
[RegisteredUser]=пользователь, на которого зарегистрирована ос

Автор - Сергей
Дата добавления - 14 Июня 2011 в 02:00
DEMBELДата: Вт, 14 Июня 2011, 10:23 | Сообщение # 268
Наш дизайнер
я уже когда-то вентилировал этот вопрос и пришел к выводу что полагаться на данные локального компа не следует вообще, могут быть разные зоны и локали, всегда можно подкрутить время и/или зону и т.п. Даже приведенные выше ссылки сервиса выводят время в соответствии с локальной зоной, поменяв ее можно поменять и выдачу времени.

Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе. Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется. Потом получаем время с сервера точного времени (один из стандартных мировых серверов времени) и сравниваем. Так мы не зависим от локального компа, пусть там хоть запереставляются этим временем/зонами.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениея уже когда-то вентилировал этот вопрос и пришел к выводу что полагаться на данные локального компа не следует вообще, могут быть разные зоны и локали, всегда можно подкрутить время и/или зону и т.п. Даже приведенные выше ссылки сервиса выводят время в соответствии с локальной зоной, поменяв ее можно поменять и выдачу времени.

Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе. Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется. Потом получаем время с сервера точного времени (один из стандартных мировых серверов времени) и сравниваем. Так мы не зависим от локального компа, пусть там хоть запереставляются этим временем/зонами.

Автор - DEMBEL
Дата добавления - 14 Июня 2011 в 10:23
ВадимДата: Вт, 14 Июня 2011, 16:36 | Сообщение # 269
Генератор идей
Сергей, спасибо за примеры с cmd и за функцию! Я как раз думал хотя бы для начала проверку на время установки системы сделать.

Quote (Сергей)
А время работы системы на vbs, надо поискать пример.

Время работы системы (посмотрел через cmd - systeminfo) у меня показывает 4 дня :), хотя винда с ноября не переустанавливалась.

Quote (Сергей)
Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную.

Да, это тоже вариант.

Quote (Сергей)
Вот функция OperatingSystem
Спасибо!
Quote (Сергей)
функция на vbs getDateInstalWinVBS(Дата установки винды)
Эта функция выдала результат раза в три быстрее, чем эта:
Quote (Сергей)
функция OperatingSystem


Quote (DEMBEL)
пришел к выводу что полагаться на данные локального компа не следует вообще
В отношении даты/времени, похоже, что так... Не сканировать же втихаря все файлы пользователя на предмет даты/времени их изменения, рассматривая как реальную дату - самую большую. Хотя, тоже вариант :D

Quote (DEMBEL)
Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе.
Да, этот способ замечательный, если программа работает с интернетом. А если не имеет к нему никакого отношения, то данный способ не подходит.
Quote (DEMBEL)
Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется.
Да, в принципе зоны можно вообще не учитывать, главное - получить дату.

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

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

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

Еще мысль. Может быть где-то пишется время на сервере, к которому подключался пользователь?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
Вадим - Вт, 14 Июня 2011, 16:40
 
СообщениеСергей, спасибо за примеры с cmd и за функцию! Я как раз думал хотя бы для начала проверку на время установки системы сделать.

Quote (Сергей)
А время работы системы на vbs, надо поискать пример.

Время работы системы (посмотрел через cmd - systeminfo) у меня показывает 4 дня :), хотя винда с ноября не переустанавливалась.

Quote (Сергей)
Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную.

Да, это тоже вариант.

Quote (Сергей)
Вот функция OperatingSystem
Спасибо!
Quote (Сергей)
функция на vbs getDateInstalWinVBS(Дата установки винды)
Эта функция выдала результат раза в три быстрее, чем эта:
Quote (Сергей)
функция OperatingSystem


Quote (DEMBEL)
пришел к выводу что полагаться на данные локального компа не следует вообще
В отношении даты/времени, похоже, что так... Не сканировать же втихаря все файлы пользователя на предмет даты/времени их изменения, рассматривая как реальную дату - самую большую. Хотя, тоже вариант :D

Quote (DEMBEL)
Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе.
Да, этот способ замечательный, если программа работает с интернетом. А если не имеет к нему никакого отношения, то данный способ не подходит.
Quote (DEMBEL)
Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется.
Да, в принципе зоны можно вообще не учитывать, главное - получить дату.

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

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

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

Еще мысль. Может быть где-то пишется время на сервере, к которому подключался пользователь?

Автор - Вадим
Дата добавления - 14 Июня 2011 в 16:36
СергейДата: Ср, 15 Июня 2011, 14:02 | Сообщение # 270
Необукер
Quote (Вадим)
Только какие это файлы?
Мне кажется так, поправте, если что...
изменяются:
1-C:\pagefile.sys
2-C:\WINDOWS\system32\config\
-AppEvent.Evt
-SysEvent.Evt
-software
-system

не изменяются:
3-C:\
-System Volume Information
-CONFIG.SYS
-MSDOS.SYS
4-C:\Documents and Settings
и т.д. Но по ним можно отслеживать при определенных условиях, т.е. точности может и не быть. Например отключен журнал событий, то SysEvent.Evt менятся не будет и т.п.

Добавлено (15 Июнь 2011, 14:02)
---------------------------------------------

 
Сообщение
Quote (Вадим)
Только какие это файлы?
Мне кажется так, поправте, если что...
изменяются:
1-C:\pagefile.sys
2-C:\WINDOWS\system32\config\
-AppEvent.Evt
-SysEvent.Evt
-software
-system

не изменяются:
3-C:\
-System Volume Information
-CONFIG.SYS
-MSDOS.SYS
4-C:\Documents and Settings
и т.д. Но по ним можно отслеживать при определенных условиях, т.е. точности может и не быть. Например отключен журнал событий, то SysEvent.Evt менятся не будет и т.п.

Добавлено (15 Июнь 2011, 14:02)
---------------------------------------------


Автор - Сергей
Дата добавления - 15 Июня 2011 в 14:02
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Способы реализации триальности программы (Какие можно придумать способы реализации триал-версий?)
Поиск: