Написал программу на Delphi. Надо защитить. Привязка к железу не подходит. Писать ключи в реестре примитив. Можно создавать ключики на каждый месяц, но дату легко исправить, а как это проконтролировать незнаю.:confused: :confused: :unhappy: :unhappy: :confused: :confused:
[Ответ]
LSL 18:38 15.01.2004
Как это дату легко исправить ??
Придумай средство от перевода системных часов назад. Например, храни дату последнего запуска и проверяй не больше ли она текущей даты запуска, если это так то выводи пользователю месседжбокс о том что он лох, и форматируй винт...(ему разумеется)
JOHN_PROFF,
- Файлик в system32 с замудренным именем. Создается при инсталляции, в него пишется закодированная (а-ля md5) дата его создания (см. установки), читаешь дату его создания, проверяешь, подходит ли содержимое... Вариант примитивный, но работает
- В реестр можно писать кодовый ключик, к тому же не обязательно его писать в общепринятые места. Хорошо катит HKEY_CLASSES_ROOT\.8ba или что-то подобное. Ты много видел юзверей, которые туда смотрят? У меня вычисление такого ключика в свое время заняло часа 2-3, если бы не было оччччень надо (любимая девушка попросила), плюнул бы.
- Комбинация первого и второго варианта, причем по 3-5 ключей и файлов в разных местах. Если есть ошибка в проверке хотя бы одного, вписать новый файлик/ключ, который будет блокировать работу проги впредь впоть до переустановки винды - сильно затрудняет опрокидывание системы защиты путем проб и ошибок...
А вообще, купи себе хорошую книжку по криптографии/защите данных.
[Ответ]
LSL 01:33 16.01.2004
DMakeev system32, реестр.. нелюблю.. особенно когда какая-то программа Васи Пупкина чем-то наполняет мои системные папки
А вообще, купи себе хорошую книжку по криптографии/защите данных.
Там есть защита программ от запуска по истечению времени ?
JOHN_PROFF
Недавно я давал ссылочку на программу ORiEN, она навешивает на целевую программу различные защиты..
Сообщение от :
выводи пользователю месседжбокс о том что он лох, и форматируй винт...(ему разумеется)
Во-первых, таких программеров надо отстреливать как бешеных собак, потому что такая, с позволения сказать, программа принципиально ничем не отличается от вируса. Скажи, ты, когда ловил вирус, говорил его автору слова благодарности за потерянные свои данные.
Во-вторых, ты не думаешь о том, что нормальный юзер для работы не дает себе прав суперпользователя, без которых покорежить систему нельзя? Попробуй с нормальными юзеровыми привилегиями что-нибудь сделать с системой нехорошее.
[Ответ]
JOHN_PROFF 09:30 16.01.2004
LSL
Сообщение от :
храни дату последнего запуска и проверяй не больше ли она текущей даты запуска
DMakeev
Сообщение от :
Файлик в system32 с замудренным именем ... Хорошо катит HKEY_CLASSES_ROOT\.8ba...
Как быть с FileMon, RegMon???
Еще можно каждый раз заново ставить программу на VMware, предварительно сделав копию VMware'вского ввинта.
[Ответ]
zic 10:34 16.01.2004
Как быть с FileMon, RegMon
Да просто процесс смотри.
Еще можно каждый раз заново ставить программу на VMware, предварительно сделав копию VMware'вского ввинта.
А как ты хотел чудес не бывает .
Во-первых, таких программеров надо отстреливать как бешеных собак, потому что такая, с позволения сказать, программа принципиально ничем не отличается от вируса.
Во первых надо отстрелевать пользователей, которые ломают(мои) программы, а ещё лучше тех кто пишет эти ломалки.
Во вторых это не вирус. Чтобы назваться вирусом программе нужно выполнять обязательное условие "размножение"
Во-вторых, ты не думаешь о том, что нормальный юзер для работы не дает себе прав суперпользователя, без которых покорежить систему нельзя?
У нормальных пользователей привелегии администратора.
[Ответ]
zss_vrn 12:14 16.01.2004
LSL
Сообщение от :
У нормальных пользователей привелегии администратора.
Зависит от админа. Что будет, если у всех 400 наших пользователей, будут права админа?
[Ответ]
Unforgiven 12:18 16.01.2004
LSL Так, какая такса у нас на отмотку треда назад? Придумай средство от перевода системных часов назад. Например, храни дату последнего запуска и проверяй не больше ли она текущей даты запуска, если это так то выводи пользователю месседжбокс о том что он лох, и форматируй винт...(ему разумеется) надо отстрелевать пользователей, которые ломают(мои) программы, а ещё лучше тех кто пишет эти ломалки
Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.
А вот преднамеренная порча или уничтожение данных пользлвателя --- действие не вполне законное. И за это можно поплатиться. И такие случаи известны. не помню, где я про это читал, но если закопаться в Интернет, то наверное, найти можно.
Про вирус. Имелось в виду только одно из возможных последствий пребывания вируса на компе.
Про права. Тут мы уже уходим в оффтопик, но ладно... Как ты думаешь, для чего придуманы всякие пользовательские привелегии, разграничение прав доступа к файлам и т. д.?
Ответь, а потом продолжим.
[Ответ]
zss_vrn 13:20 16.01.2004
Unforgiven
Сообщение от :
Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция.
Не думаю, что так. При отмотке системных часов назад многие бухгалтерские, управленченские и т.п. проги начнут глючить. Что будет, если у секретаря генерального напоминалка сработает не во-время? Ужас, что будет! А если система управления проектами закобелится?
Сообщение от :
. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.
Если в резултате работы моей программы перестают работать другие программы, то это - моя ошибка. Юзер платил за них, кто будет возмещать ущерб? Конечно, можно написать в требованиях, что "после установке этой программы мы не гарантируем вам работу всего остального", то юридически не подкопаться. Но кто будет покупать такие программы?
[Ответ]
Unforgiven Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.
А вот преднамеренная порча или уничтожение данных пользлвателя --- действие не вполне законное. И за это можно поплатиться. И такие случаи известны. не помню, где я про это читал, но если закопаться в Интернет, то наверное, найти можно.
Про вирус. Имелось в виду только одно из возможных последствий пребывания вируса на компе.
Ты прав, я забыл что речь шла о системном времени.
Про вирус я пошутил Неужели ты думаешь что я буду наделять такими функциями свой софт ?
Про права. Тут мы уже уходим в оффтопик, но ладно... Как ты думаешь, для чего придуманы всякие пользовательские привелегии, разграничение прав доступа к файлам и т. д.?
Ответь, а потом продолжим.
Домашние пользователи имеют права администратора. Про организации я не говорю.
zss_vrn Не думаю, что так. При отмотке системных часов назад многие бухгалтерские, управленченские и т.п. проги начнут глючить. Что будет, если у секретаря генерального напоминалка сработает не во-время? Ужас, что будет! А если система управления проектами закобелится?
Операция в любом случае законна.
Если в резултате работы моей программы перестают работать другие программы, то это - моя ошибка.
Не всегда.
JOHN_PROFF
Помоему мы отошли от темы!!!
Да, скорее всего это так
Чтобы дать конкретные советы, нужно иметь представление о том, в каких условиях программа должна работать. Я могу посоветовать использовать FlexLM. Это устроит?
Давайте рассуждать с точки зрения банальной эрудиции.
Насколько я понимаю, надо определять разницу во времени между текущим временем, когда программа запускается, и временем, когда она была установлена (ну или временем, которое написано в ключе/лицензии). Но тогда это время надо где-то хранить. Таких мест только два --- реестр и файл.
Можно отслеживать какое-нибудь время какого-нибудь файла и периодически изменять его.
Но все это можно обнаружить. Изменение времени модификации файла вообще определяется тривиально: надо при поиски файла задать определенные условия. Обращение к реестру и файлам тоже можно отследить.
[Ответ]
LSL 15:15 16.01.2004
Зачем реестр и system32 ? Всю информацию о времени в закодированном виде можно хранить в файле в папке с программой. Разумеется, если файл повреждён или удалён программа не запустится.
Вот я когда этим занимался, привязывал к серийнику винта....
[Ответ]
zss_vrn Если в резултате работы моей программы перестают работать другие программы, то это - моя ошибка. Юзер платил за них, кто будет возмещать ущерб? Конечно, можно написать в требованиях, что "после установке этой программы мы не гарантируем вам работу всего остального", то юридически не подкопаться. Но кто будет покупать такие программы?
Все .
Потому что так давно есть .
LSL Домашние пользователи имеют права администратора. Про организации я не говорю.
Угу ,а некоторые хранят в Корзине важные документы ну и что ?
Таких маразмов миллионы , взять хотябы поверье что форматирование вредно для винчестера и тп .
[Ответ]
DMakeev 22:40 16.01.2004
LSL, system32, реестр.. нелюблю.. особенно когда какая-то программа Васи Пупкина чем-то наполняет мои системные папки
этим занимается 80% всего софта на твоем компе
JOHN_PROFF, буду говорить банальности: нет невзламываемых вещей. Есть вещи, затрат на взлом которых значительно превышают выгоду от взлома.
[Ответ]
JOHN_PROFF 09:04 17.01.2004
DMakeev Именно это и надо. Но похоже я сам тут уже разобрался.
Всем спасибо!!! Если будут идеи всеравно пишите.
[Ответ]
zss_vrn 06:58 19.01.2004
zic
Сообщение от :
Все .
Потому что так давно есть .
Значит мы - не все Потому что если в результате установки нашей проги ченть другое перестает работать, мы садимся в поезд/самолет и едем/летим исправлять. Некоторая несовместимость есть, но мы о ней знаем и предупреждаем (ну, например нельзя иметь на сервере две версии одного сервера БД одновременно).
А вообще-то такая аналогия - купил телевизор домой, включил - все класс, но вырубились холодильник и стиральная машина. LSL
Сообщение от :
Операция в любом случае законна.
Это - не прграммирование, это - хакерство. Коммерческий софт так не должен делаться.
[Ответ]