Большой Воронежский Форум
» Программирование>Защита ПО
JOHN_PROFF 17:34 15.01.2004
Написал программу на Delphi. Надо защитить. Привязка к железу не подходит. Писать ключи в реестре примитив. Можно создавать ключики на каждый месяц, но дату легко исправить, а как это проконтролировать незнаю.:confused: :confused: :unhappy: :unhappy: :confused: :confused: [Ответ]
LSL 18:38 15.01.2004
Как это дату легко исправить ??

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

[Ответ]
DMakeev 00:45 16.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, она навешивает на целевую программу различные защиты..

Почему привязка к железу не подходит ?
[Ответ]
Unforgiven 08:03 16.01.2004
LSL

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

Во-первых, таких программеров надо отстреливать как бешеных собак, потому что такая, с позволения сказать, программа принципиально ничем не отличается от вируса. Скажи, ты, когда ловил вирус, говорил его автору слова благодарности за потерянные свои данные.
Во-вторых, ты не думаешь о том, что нормальный юзер для работы не дает себе прав суперпользователя, без которых покорежить систему нельзя? Попробуй с нормальными юзеровыми привилегиями что-нибудь сделать с системой нехорошее. [Ответ]
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'вского ввинта.
А как ты хотел чудес не бывает .

ASProtect пробывал ? [Ответ]
JOHN_PROFF 10:51 16.01.2004
zic

Сообщение от :
Да просто процесс смотри

Непонял.
ASProtect это ключики в реестре? [Ответ]
LSL 11:09 16.01.2004
Unforgiven

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

Во первых надо отстрелевать пользователей, которые ломают(мои) программы, а ещё лучше тех кто пишет эти ломалки.

Во вторых это не вирус. Чтобы назваться вирусом программе нужно выполнять обязательное условие "размножение"

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

У нормальных пользователей привелегии администратора. [Ответ]
zss_vrn 12:14 16.01.2004
LSL

Сообщение от :
У нормальных пользователей привелегии администратора.

Зависит от админа. Что будет, если у всех 400 наших пользователей, будут права админа? [Ответ]
Unforgiven 12:18 16.01.2004
LSL Так, какая такса у нас на отмотку треда назад?
Придумай средство от перевода системных часов назад. Например, храни дату последнего запуска и проверяй не больше ли она текущей даты запуска, если это так то выводи пользователю месседжбокс о том что он лох, и форматируй винт...(ему разумеется)
надо отстрелевать пользователей, которые ломают(мои) программы, а ещё лучше тех кто пишет эти ломалки
Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.
А вот преднамеренная порча или уничтожение данных пользлвателя --- действие не вполне законное. И за это можно поплатиться. И такие случаи известны. не помню, где я про это читал, но если закопаться в Интернет, то наверное, найти можно.
Про вирус. Имелось в виду только одно из возможных последствий пребывания вируса на компе.
Про права. Тут мы уже уходим в оффтопик, но ладно... Как ты думаешь, для чего придуманы всякие пользовательские привелегии, разграничение прав доступа к файлам и т. д.?
Ответь, а потом продолжим. [Ответ]
zss_vrn 13:20 16.01.2004
Unforgiven

Сообщение от :
Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция.

Не думаю, что так. При отмотке системных часов назад многие бухгалтерские, управленченские и т.п. проги начнут глючить. Что будет, если у секретаря генерального напоминалка сработает не во-время? Ужас, что будет! А если система управления проектами закобелится?

Сообщение от :
. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.

Если в резултате работы моей программы перестают работать другие программы, то это - моя ошибка. Юзер платил за них, кто будет возмещать ущерб? Конечно, можно написать в требованиях, что "после установке этой программы мы не гарантируем вам работу всего остального", то юридически не подкопаться. Но кто будет покупать такие программы? [Ответ]
JOHN_PROFF 13:33 16.01.2004
Помоему мы отошли от темы!!! [Ответ]
LSL 13:59 16.01.2004
Unforgiven
Так вот, я утверждаю, что изменение времени на рабочей станции не есть взлом программы. Это --- абсолютно законная системная операция. И если какая-то программа неадекватно на нее реагирует --- это ее половая трудность.
А вот преднамеренная порча или уничтожение данных пользлвателя --- действие не вполне законное. И за это можно поплатиться. И такие случаи известны. не помню, где я про это читал, но если закопаться в Интернет, то наверное, найти можно.
Про вирус. Имелось в виду только одно из возможных последствий пребывания вируса на компе.


Ты прав, я забыл что речь шла о системном времени.
Про вирус я пошутил Неужели ты думаешь что я буду наделять такими функциями свой софт ?

Про права. Тут мы уже уходим в оффтопик, но ладно... Как ты думаешь, для чего придуманы всякие пользовательские привелегии, разграничение прав доступа к файлам и т. д.?
Ответь, а потом продолжим.


Домашние пользователи имеют права администратора. Про организации я не говорю.

zss_vrn
Не думаю, что так. При отмотке системных часов назад многие бухгалтерские, управленченские и т.п. проги начнут глючить. Что будет, если у секретаря генерального напоминалка сработает не во-время? Ужас, что будет! А если система управления проектами закобелится?

Операция в любом случае законна.

Если в резултате работы моей программы перестают работать другие программы, то это - моя ошибка.

Не всегда.

JOHN_PROFF

Помоему мы отошли от темы!!!
Да, скорее всего это так


Ближе к теме, помогите человеку...
[Ответ]
Unforgiven 14:35 16.01.2004
Чтобы дать конкретные советы, нужно иметь представление о том, в каких условиях программа должна работать. Я могу посоветовать использовать FlexLM. Это устроит?
Давайте рассуждать с точки зрения банальной эрудиции.
Насколько я понимаю, надо определять разницу во времени между текущим временем, когда программа запускается, и временем, когда она была установлена (ну или временем, которое написано в ключе/лицензии). Но тогда это время надо где-то хранить. Таких мест только два --- реестр и файл.
Можно отслеживать какое-нибудь время какого-нибудь файла и периодически изменять его.
Но все это можно обнаружить. Изменение времени модификации файла вообще определяется тривиально: надо при поиски файла задать определенные условия. Обращение к реестру и файлам тоже можно отследить. [Ответ]
LSL 15:15 16.01.2004
Зачем реестр и system32 ? Всю информацию о времени в закодированном виде можно хранить в файле в папке с программой. Разумеется, если файл повреждён или удалён программа не запустится.

Вот я когда этим занимался, привязывал к серийнику винта.... [Ответ]
JOHN_PROFF 15:23 16.01.2004
К железу привязываться нельзя [Ответ]
is 15:29 16.01.2004
Странно, что защита обсуждается в открытом форуме. Это, по меньшей мере, недальновидно [Ответ]
JOHN_PROFF 15:33 16.01.2004
is Речь не идет о сверх серьезной защите. [Ответ]
zic 15:40 16.01.2004
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

Сообщение от :
Операция в любом случае законна.

Это - не прграммирование, это - хакерство. Коммерческий софт так не должен делаться.
[Ответ]
Вверх