Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дата: Сб, 12 Сентября 2009, 23:43 | Сообщение # 241
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Полагаю этот плагин будет весьма полезен
по сути функции у него специфичны, и кроме, как применить в таймере(см урок), я не вижу других задач... Но мне плаг помог здорово, но если бы у нас небыло такого провайдера, плагина бы небыло.
у меня плагин выдает одни нули, а пример DEMBEL показывает нормально
Добавлено (12 Сентябрь 2009, 23:43) --------------------------------------------- Вадим ты в инете использовал скрипт, мне в частности интересно какое мыло приходит юзеру
Дата: Вс, 13 Сентября 2009, 12:07 | Сообщение # 243
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
интересно какое мыло приходит юзеру
Мой хостинг на NIC.RU. В поле "От кого" прописан служебный адрес моего хоста с моим идентификатором пользователя (в примере Identifikator). Получается адрес вида Имя пользователя + <Адрес>: User Identifikator <Identifikator@web07.nic.ru> Я думаю можно и по-человечески сделать, с переадресацией или чтобы от имени моего домена письма отсылались, но я этого не делал еще, не знаю как.
Quote (sp3d)
по сути функции у него специфичны
Я увидел в плагине не столько специфичность, сколько детализированность функций, мне показалось, что это как раз то, что может понадобиться (например, чтобы грамотно перехватывать ошибки или правильно реагировать на события в системе). Но пока рано об этом говорить. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Пн, 14 Сентября 2009, 09:46 | Сообщение # 244
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Мой хостинг на NIC.RU.
Очень замечательно, но я не адресс спрашивал, а содержимое. Т.е. когда на почтовик приходит письмо и юзер открывает его для чтения, мне интересно его содержание, вернее не само содержание, а кодировочка
Добавлено (14 Сентябрь 2009, 09:46) --------------------------------------------- Если надо могу дать свое мыло, но только для теста
Дата: Пн, 14 Сентября 2009, 20:24 | Сообщение # 247
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (sp3d)
вернее не само содержание, а кодировочка
Посмотри формат почтового сообщения, там имеются всевожможные заголовки, в том числе определяющие кодировку текста, то что ты видиш как письмо, это уже и нтерпритация полученого исходного текста.
Дата: Вт, 15 Сентября 2009, 10:19 | Сообщение # 249
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Посмотрел исходный код страницы сформированного письма.
Вадим будь проще , я же не внутрености просил.
Quote (sp3d)
юзер открывает его для чтения
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки . Я к чему спрашиваю, раньше, если не использовать строку (которую ты удалил) письмо приходило абракадаброй. Но видать все нормально, раз ты их не увидел(логично! о как )
Дата: Вт, 15 Сентября 2009, 11:55 | Сообщение # 251
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (sp3d)
или ты думаешь, когда приходит письмо юзеру он сразу начинает смотреть заголовки
Энто почтовик усе смотрит, так сказать его интерпритатор, протокол передает сообщение в виде блока циферь а уж как их воспринимать дело третье. А вот когда в энтом блоке не указали правильно кодировку, то и получаются кракозяблы.
Недавно попалась на глаза статья, решил выложить в этой теме.
Для интересующихся темой защиты Shareware-программ, небольшая статья о разнообразных способах защиты программ от нелегального копирования (можно использовать и для организации триальности программы): Теория защиты программ от взлома (Автор: gackt)
как в итоге решился вопрос о создании триальных версий. Если хранить все триал-данные в запароленном архиве... я так понял что программа создает его при первом запуске, а что делать если этот файл просто удалить/подменить? также как отмониторить реестр? для "обычного" юзера это давно не проблема...
Хранить триал-данные в реестре и в запароленном архиве удобно (лучше, кстати, создавать его не при первом запуске, а выкладывать из багажа, это позволяет проверять факт его удаления из директории проги). Но если юзер сумеет почистить реестр и поставить триал-версию заново, то прога решит, что она запускается в первый раз. Т.е. это не серьезная защита, естественно.
Однако, частично эту трудность можно решить тем, что в самом исполняемом файле программы можно хранить хэш даты ее создания (или что-то иное). Естественно, хэш должен браться не с реальной даты создания собственно дистрибутива, а с произвольной даты - нужна "условная дата создания" (чтобы нельзя было узнать эту дату элементарно в свойствах файла экзешника). По умолчанию считаем (выполнять этот скрипт, например, при запуске проги), что если хэш "прошитой в экзешнике" даты отличается от хэша текущей даты или отличается более, чем на установленное кол-во дней (а регистрационные данные отсутствуют), то программу считать триальной.
В этом случае, чтобы обойти триальность, нужно не только реестр чистить и ставить прогу заново, но и системную дату нужно подменять, а то и системные файлы (или их атрибуты), если дата вычисляться будет по ним. А как это сделать, если прошитая дата создания программы неизвестна (?) и даже в самом экзешнике она не прописана, есть только ее хэш...
Для большинства юзеров это будет уже слишком...
Единственный минус этого способа в том, что если триальность организована жестко, например, программа просто отказывается запускаться (если дата создания исполняемого файла на такое-то число дней отличается от текущего момента), то пользователю следует предложить оплатить регистрацию или скачать более свежую триал-версию (следовательно придется периодически выкладывать более новые экзешники программы себе на сервер, но это не обременительно). А это значит, что пользователь после загрузки новой триал-версии снова сможет пользоваться программой. Следовательно, нужен наг-скрин или иное напоминание о незарегистрированности и/или нужно вводить какое-то незначительное, но не позволяющее использовать прогу на полную катушку ограничение в ее функционале.
Quote (Вадим)
Мне кажется, я понял, почему плагин hpwUtility глючил при разархивации!
Как оказалось, баг был все-таки в самом плагине:
Changes 2.13:(14.09.2010)
BugFix: hpwUnZipString was still not stable.
Changes 2.12:(13.09.2010)
BugFix: hpwUnZipString does not release ZIP-instance on error.
Сейчас уже существует версия hpwUtility 2.16 Только я скачать пока не могу (у кого скачивается - отзовитесь).
Necronomicon, можно полюбопытствовать, как скачал?! Мое любопытство не праздное, просто я со многих сайтов не могу скачивать фалы. Думаю дело в прове, но... Просто ответь, скачал по той же ссылке, что приведена выше, альтернативный ресурс или скачал раньше по той ссылке, пока она была "живая"?!
а самому сделать лень? Я скачивал ее, но она мне не понравилась, походу прога сделана на НБ
Если каждый будет велосипед изобретать, то так и будем в каменном веке жить. А как ты скачал? Я даже ссылку не нашел, похоже на обозначение идеи - концепт, так сказать...
Если каждый будет велосипед изобретать, то так и будем в каменном веке жить
боюсь я не допонял, что ты имел ввиду Многое, что мы делаем на НБ, уже давно придуманно и сделанно... Тем неменее, мы делаем и радуемся своим проектам.
Я лишь имел в виду, что иногда можно пользоваться уже готовыми программами
Quote (Сергей)
там ссылка была. И она платная.
Понятно теперь. А вообще да, такой функциональности в NB не хватает. Так бы нажал кнопочку и обновился или дал задание на проверку обновлений плагинов раз в месяц и все дела...
но обновится ты через ту прогу не сможешь, только удалить или установить плагин. Может в платной и есть обновлялка. Там кнопочка есть типа БД, но нажав на нее поподаешь на страницу покупки
Как оказалось, баг был все-таки в самом плагине: Changes 2.13:(14.09.2010) BugFix: hpwUnZipString was still not stable.
Да, в hpwUtility версии 2.16 баг при распаковке архива (когда дописывались лишние символы) более не наблюдается!! Спасибо разработчику, Хансу-Петеру Викерну!
Добавлено (13 Июнь 2011, 05:58) --------------------------------------------- В развитие темы.
По каким системным файлам и по каким еще вещам на компе пользователя можно определить реальную (а не выставленную пользователем) дату на компьютере пользователя?
Две версии вопроса:
1) Будем считать, что на компьютере пользователя есть доступ к интернет, но наше приложение не использует его для проверки даты (поскольку на момент запуска программы интернет может быть недоступен).
2) Как проще всего проверить дату именно через интернет?
1-А:когда будет доступен инет Б: оставлять метку при закрытии, а при запуске проверять, если разброс ><24 метки, то "подкрутили"(способ бредовый, тут надо придумать алгоритм) В: Проверить время биоса, но там тоже может быть изменен. Недумаю, что твои пользователи будут туда лезть...Хотя, кто его знает. 2-тут
Сообщение отредактировано Сергей - Пн, 13 Июня 2011, 07:42
Проверить время биоса, но там тоже может быть изменен.
А как проверить его время? В биосе отсчет времени ведется от даты установки, какая была выставлена в дистрибутиве биоса? И далее, если ее не меняли, то отсчет ведется от нее?
Где-то в системе сохраняется информация о "максимальных" дате/времени? Скажем, какие-то системные файлы изменяются лишь тогда, когда системное время больше времени изменения этих файлов... Следовательно, по времени изменения этих файлов можно было бы определить хотя бы "максимальную" дату данного компьютера. Существует вообще такое? Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
очень возможно, что я сказал глупость. Как вариант, что при смене время на компе, автоматом меняется время в биосе(?!) Эту тему надо гуглить, и проверять, а мне хотца такие эксперементы Но навсякий случай проверил в vbs WMI(Win32_BIOS) нет получение даты. Я тут подумал, но корректно обойти это мало шансов Незачто зацепиться. Тут только mfr? но точность?! 1-Записать время запуска и при закрытии тоже Записать 2-Записать время работы компа 3-Придумать алгоритм проверка/анализ на искажение... Могу только помочь с получением время работы компа и дата инстала винды, есть пару вариантов, вот один:
А время работы системы на vbs, надо поискать пример. У меня сходу не получилось. Вернее был один вариант через "Журнал событий"? но а если он отключен. Позже посмотрю еще раз...
Добавлено (14 Июнь 2011, 01:13) --------------------------------------------- Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную. Если системная дата "чудесным" образом стало на месяц меньше, то делать выводы
Вот функция OperatingSystem Вызов: Call "OperatingSystem" Возращает переменные: [CurrentTimeZone]=временная зона(600) [InstallDate]= указывает дату установки(ДД/ММ/ГГГГ ЧЧ:ММ:СС,может возращать пустую) [LastBootUpTime]=время последней загрузки операционной системы(ДД/ММ/ГГГГ ЧЧ:ММ:СС) [LocalDateTime]=локальная дата и время операционной системы.(ДД/ММ/ГГГГ ЧЧ:ММ:СС) [RegisteredUser]=пользователь, на которого зарегистрирована ос
я уже когда-то вентилировал этот вопрос и пришел к выводу что полагаться на данные локального компа не следует вообще, могут быть разные зоны и локали, всегда можно подкрутить время и/или зону и т.п. Даже приведенные выше ссылки сервиса выводят время в соответствии с локальной зоной, поменяв ее можно поменять и выдачу времени.
Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе. Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется. Потом получаем время с сервера точного времени (один из стандартных мировых серверов времени) и сравниваем. Так мы не зависим от локального компа, пусть там хоть запереставляются этим временем/зонами. Как задавать вопросы
Сергей, спасибо за примеры с cmd и за функцию! Я как раз думал хотя бы для начала проверку на время установки системы сделать.
Quote (Сергей)
А время работы системы на vbs, надо поискать пример.
Время работы системы (посмотрел через cmd - systeminfo) у меня показывает 4 дня :), хотя винда с ноября не переустанавливалась.
Quote (Сергей)
Еще как вариант при установке создать где нибудь файлик, а потом проверять его дату и системную.
Да, это тоже вариант.
Quote (Сергей)
Вот функция OperatingSystem
Спасибо!
Quote (Сергей)
функция на vbs getDateInstalWinVBS(Дата установки винды)
Эта функция выдала результат раза в три быстрее, чем эта:
Quote (Сергей)
функция OperatingSystem
Quote (DEMBEL)
пришел к выводу что полагаться на данные локального компа не следует вообще
В отношении даты/времени, похоже, что так... Не сканировать же втихаря все файлы пользователя на предмет даты/времени их изменения, рассматривая как реальную дату - самую большую. Хотя, тоже вариант
Quote (DEMBEL)
Наилучший вариант - получение точного времени GMT/UTC и хранение/обработка/сравнение его в самой программе.
Да, этот способ замечательный, если программа работает с интернетом. А если не имеет к нему никакого отношения, то данный способ не подходит.
Quote (DEMBEL)
Ошибка GMT времени в завис-ти от зон будет не более суток, но как правило точнее не требуется.
Да, в принципе зоны можно вообще не учитывать, главное - получить дату.
Вообще говоря, если в экзешник вшить дату min и дату max, то триал будет работать только в этом промежутке дат, что снижает свободу действий по "подкрутке" даты, однако всегда остается возможность вернуть комп к той дате, когда программа работала. Выходит, что триал-версия может работать на компьютере пользователя "вечно", выход я вижу пока только один - вводить для триал версии какое-то функциональное ограничение, которое не позволит использовать программу на полную мощность (например, ограничить число записей в базу данных или отключить печать результатов, или еще что-то в таком роде).
Однако, если комп пользователя выходит иногда в сеть или подключает внешние диски, то какие-то файлы же должны скачиваться/изменяться, и по ним, выходит, можно определить более-менее свежую дату создания/изменения/доступа к файлу.
Только какие это файлы? Может куки (или картинки, еще что-то...) в папке "браузера по умолчанию" просканировать или они создаются на компе пользователя с системной датой компьютера пользователя?
Мне кажется так, поправте, если что... изменяются: 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 менятся не будет и т.п.
Вадим, глупостями занимаешься Проверяй по своему серверу, придумай онлайн и офлайн регистрацию для тестового периода. Т.е. два вида, для тех у кого есть инет и для тех у кого нет. Кто онлайн, тут и вопрос со временем решится, кто офлайн, то в файле регистрации(или типа регистрационого ключа) зашифруй точную дату отсылки, и по нему сравнивай с системной, если будет разница, то она будет проге известна. И спокойно веди отсчет с вычетам разницы... Кому нужна прога, тот и файл/ключ регистрации скачает, он ведь будет бесплатен. Еще вариант если сделать установку проги, то в ней можно зашить дату скачки, но тогда придется сделать скачку по требованию... короче, только через инет, все остальное ерунда