Брать время в интернете, больше никак.ger_kar писал(а):И что совсем никак? Все также думают?
vice4 писал(а):Ты про снятие времени при инсталляции программы или про запуски ее?
Antonariy писал(а):Брать время в интернете, больше никак.
Antonariy писал(а):Брать время в интернете, больше никак.
ger_kar писал(а):Пока обдумываю вариант с меткой, снятой с файлов. Например если найти такой файл, который гарантированно есть на компьютере, но к которому доступ бывает очень редко. Редкий доступ практически исключит перезапись метки системой даже если часы будут переведены назад. При снятии метки проверка и если она завершилась успешно, перезапись метки. Файловую метку продублировать аналогичной меткой из раздела реестра.
Других мыслей пока нет.
Довольно эффективно будет хранить данные здесь, если конечно все реализовать с умом.Файл (или другое хранилище, в котором будет храниться продолжительность использования программы) можешь прятать, насколько позволит фантазия.
Twister писал(а):Довольно эффективно будет хранить данные здесь, если конечно все реализовать с умом.
Twister писал(а):Боюсь что без знания английского и умения читать код на различных языках в программировании делать нечего.
Скрытая запись в реестр
Этот метод подходит для систем Windows, основанных на ядре NT. Специфика применяемого в них NativeAPI позволяет создавать в реестре невидимый и неудаляемый ключ. Для этого в него включается нулевой символ, используемый для завершения строки. Программы работы с реестром могут считать только ту часть данных, которая расположена «левее». В результате запись не может быть прочитана. Правда, уже существуют методики удаления подобных объектов, поэтому, несмотря на всю изощренность технологии, ее реальная ценность не так велика. Тем не менее такой подход к хранению информации, используемой триал-модулями программ, довольно широко распространен.
ger_kar писал(а):Естественно ради интереса погуглил, что за чудо такое - NativeAPI и как это можно использовать в VB и гугл сказал, что VB это использовать нельзя.
ger_kar писал(а):Большое спасибо за готовые примеры. Я вот здесь нашел справку по функциям NT Native API (ntdll.dll). Да и вообще на этом сайте есть что почитать. Но пока еще с этим не разбирался, а сейчас увидел и обрадовался. Еще раз спасибо.
Простите, а Вы код тоже по русски пишете? Помнится, была такая машина НАИРИ 3-2 с телефонным диском и печатной машинкой Консул, язык прогр. АЯП, код выглядел так:ger_kar писал(а):Вот если получится Английский выучить.
ark писал(а):Простите, а Вы код тоже по русски пишете?
Не знаю, я немецкий знаю еще хуже английского, ибо учил его давно и уже все забыл, а английский, точнее слова на английском, применяемые в VB, почти каждый день глаза мозолят. Просто английские слова я читаю так как учили в школе по немецкому. Конечно язык учить надо, но это долгий и муторный процесс.ark писал(а):Не знаю, может, по немецки FOR DO BEGIN нормально звучит
Совет конечно хороший, только там где я хочу сделать защиту, он не применим из-за некоторых специфичных особенностей, Поэтому там по времени прийдется делать. Как все сделать, я уже продумал, осталось только воплотить в реализацию. Как сделаю выложу показатьark писал(а):По части триальной защиты - я б на Вашем месте прислушался к советам ставить на количество запусков, а не на время.
Комп. неделями не выключают?ger_kar писал(а):он не применим из-за некоторых специфичных особенностей
Да нет. Это просто автоматизированные формы для налоговой отчетности. Каждая из форм по сути будет употребляться один раз в месяц, мне надо что-бы пользователь прочувствовал удобство работы и таким образом "подсел на это дело". Для этого нужно, что-бы он минимум раза три этим воспользовался, т.е. мне надо, чтобы она три месяца нормально отработала, а потом... Вот примерно так.ark писал(а):Комп. неделями не выключают?
Хакер писал(а):Все ваши идеи плохи, потому что взломащик перехватит вашу функцию и поставит нужное значение.
- другого 100% надежного я не вижу. А в обсуждаемых вариантах я б даже не стал с хуком париться - нашел бы триальную заглушку (там наверняка jnz/jne будет) и тупо джампом обошел. И вообще, если ехешник виден, не спрятан внутри чего-то, не упакован чем нибудь оригинальным, расковырять его - дело времени (и сил).- гамма->бетта->альфа->пре-пре-релиз->пре-релиз->релиз->SP1->SP2....SPn
WMI - на любителя. Я его терпеть не могу - нужно очень скрупулезно создавать запрос, иначе ждать будешь до китайской пасхи (и опять же - это не VB). По большому счету, в части получения информации WMI на 99% это "читатель" реестра. Меня больше устраивает или API обертка (типа GetProcessTimes) или, на худой конец, прямое обращение к реестру.ger_kar писал(а): можно так-же сделать и посредством WMI.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41