Название: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 08:25 Нужен механизм поддержки Trial версии.
1) Expired по кол-ву дней после первого запуска 2) Expired по дате Не должно влиять переставление системных часов. Подскажите, может есть для QT какая-либо библиотека (платная или бесплатная) или может в самом QT что есть. Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 09:35 Для начала можно сузить задачу.
Как надежно определить текущее время (может используя какие либо системные файлы), учитывая что пользователь мог переставить системные часы. C точностью до 12 часов. 1) Под Windows 2) Под всеми платформами. Название: Re: Trial версия программы. Защита. Отправлено: lit-uriy от Июнь 01, 2009, 09:53 1) как вариант смотреть дату kernel32.dll, только непонятно как от неё вытанцовывать.
Название: Re: Trial версия программы. Защита. Отправлено: kirill от Июнь 01, 2009, 11:21 Сам шароварщег и тема тоже интересует.
Пока не могу сходу сказать как определить - может быть из инета? Я в своих программах применял количество запусков, так проще. Но попробуем придумать со временем. Есть такая идея - прошерстить все! файлы на С и найти самый свежий. Можно шерстить очень быстро, например есть прога SearchGT она ище очень быстро и вроде как SDK собираются выставлять. Затем смотреть системную дату - если она меньше чем дата самого свежего файла то format C: А вот еще такой финт - в инсталлятор пакуем файл со свежей датой (раз в 12 часов передлывать придется :))) Инсталлятор ныкает файл в надежное место, а мы потом при запуске глядим его. ПРавда это легко мониторинся FileMon. Название: Re: Trial версия программы. Защита. Отправлено: UVV от Июнь 01, 2009, 11:34 Предлагаю не выёживаться, а сделать демо-версию.
Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 12:54 Сам шароварщег и тема тоже интересует. Пока не могу сходу сказать как определить - может быть из инета? Я в своих программах применял количество запусков, так проще. Но попробуем придумать со временем. Есть такая идея - прошерстить все! файлы на С и найти самый свежий. Можно шерстить очень быстро, например есть прога SearchGT она ище очень быстро и вроде как SDK собираются выставлять. Затем смотреть системную дату - если она меньше чем дата самого свежего файла то format C: А вот еще такой финт - в инсталлятор пакуем файл со свежей датой (раз в 12 часов передлывать придется :))) Инсталлятор ныкает файл в надежное место, а мы потом при запуске глядим его. ПРавда это легко мониторинся FileMon. 1) Через инет неприемлемо. 2) Через инсталятор не имеет смысла - всегда можно переинсталировать. Тем более собирать раз в 12 часов - увольте. Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 12:57 Предлагаю не выёживаться, а сделать демо-версию. А что ты имеешь ввиду под демо-версией? Собственно Trial - это тоже демо-версия. Название: Re: Trial версия программы. Защита. Отправлено: kirill от Июнь 01, 2009, 13:29 Демо этогда вместо функции "форматировать диск" высткакивает сообщение "А нету этой функции в демо"
А триал это пробная в ней все функции, но лимит по времени или количеству запусков. Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 13:57 Демо этогда вместо функции "форматировать диск" высткакивает сообщение "А нету этой функции в демо" Это демо с ограничением функциональности.А триал это пробная в ней все функции, но лимит по времени или количеству запусков. триал - тоже разновидность демо - ограничение по времени или кол-ву запусков. триал может иметь ограничение функциональности, но очень редко. В любом случае для моей задачи ограничивать функциональность - неприемлимо. Мне не нужна защита от хакеров, сломать можно любую защиту. Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать триальность. Если интересно что за программа - ссылка в подписи. Название: Re: Trial версия программы. Защита. Отправлено: UVV от Июнь 01, 2009, 18:48 Там по ссылке инсталляторы только под винду.
Цитировать Мне не нужна защита от хакеров, сломать можно любую защиту. Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать триальность. Два предложения противоречат друг другу =) Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 01, 2009, 19:09 Там по ссылке инсталляторы только под винду. Я для этого и переделываю все на QT(та версия писалась на C++ Builder).Сначала выйдет под Windows на QT. Затем под Linux & Mac. Сразу сделать трудно. Самая большая проблема запуск процессов. QProcess - примитивен, для моей задачи. Два предложения противоречат друг другу =) Ну и в чем противоречие. Пожалуйста поподробнее.Название: Re: Trial версия программы. Защита. Отправлено: kirill от Июнь 02, 2009, 05:47 1) как вариант смотреть дату kernel32.dll, только непонятно как от неё вытанцовывать. лучше взять pagefile.sysЕще можно обратиться к протоколам событий. Там дата сохраняется. Название: Re: Trial версия программы. Защита. Отправлено: UVV от Июнь 02, 2009, 15:09 Ну и в чем противоречие. Пожалуйста поподробнее. Хотя бы в том, что "сломать можно любую защиту".Сначала выйдет под Windows на QT. imho, потом будет ещё труднее.Затем под Linux & Mac. Сразу сделать трудно. Название: Re: Trial версия программы. Защита. Отправлено: SASA от Июнь 02, 2009, 16:02 А может кто-нибудь посоветовать чё почитать по поводу триальных версий. Их струтура, защита от простейших взломов, как и где хранить данные о регистрации? А то идей много, а то как их просто реализовать мало:(
Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 02, 2009, 18:41 Цитировать Мне не нужна защита от хакеров, сломать можно любую защиту. Два предложения противоречат друг другу =)Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать триальность. Советую почитать учебник по "Математической логике" и разобраться что такое противоречие. 1) Мне не нужна защита от хакеров, сломать можно любую защиту. У нас система расчетных задач(биоинформатика). Клиенты 99% - западные. Пользоваться ломаной программой они не будут - не смогут опубликовать результаты исследований с применением нашего пакета. 2) Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать (Trial). А вот смухлевать с Trial могут практически все. Самое простое переинсталировать (почистив мусор от предыдущей инсталяции). И/Или переставить время. Здесь "хакерских" навыков не нужно. Это может сделать любой нормальный юзверь. Кому не нужена система - не купит, а вот те кому нужна вполне могут потянуть время и попользоваться Trial версиями. Вот это и надо ограничить. Название: Re: Trial версия программы. Защита. Отправлено: mugabe от Июнь 03, 2009, 10:12 Если не собираетесь специализироваться на защите ПО, а ваши продукты узкоспециализированы - то не стоит вообще заморачиваться с придумыванием каких-то хитрых защит.
Если вы этот вопрос не изучите досканально, то вашу программу какую бы защиту вы не придумали сами - сломают за считанные минуты. Воспользуйтесь готовыми решениями для защиты ПО. Если вы хотите изучить этот вопрос детальнее, то это явно не тот форум, на котором можно всесторонне обсудить защиту. В любом случае вам на wasm.ru и cracklab.ru - там огромное кол-во информации и софта на эту тему. Название: Re: Trial версия программы. Защита. Отправлено: Karl-Philipp от Июнь 05, 2009, 18:25 Как вариант можно защитить своё ПО на юридическом уровне.
Если программный продукт предназначен для узкого круга пользователей, может быть стоит разработать договор купли/продажи, в котором предусмотреть ограничения на распространие (перепродажу, дарение и т.д.). То есть в случае нарушения этих ограничений вы можете подать в суд и требовать компенсации за нарушение тех или иных пунктов договора. Что скажете? Название: Re: Trial версия программы. Защита. Отправлено: lit-uriy от Июнь 05, 2009, 19:58 надо сначало факт выявить, потом причастность конкретного покупателя ...
Да и цель другая - время эксплуотации ознакомительной версии. Название: Re: Trial версия программы. Защита. Отправлено: Karl-Philipp от Июнь 05, 2009, 20:02 надо сначало факт выявить, потом причастность конкретного покупателя ... Рано или поздно факт незаконной перепродажи/дарения узкоспециализированной программы обязательно всплывёт. Перестраховаться с помощью составления договора с конкретными ограничениями для конкретного пользователя по-моему было бы неплохо.Название: Re: Trial версия программы. Защита. Отправлено: spectre71 от Июнь 08, 2009, 19:32 Рано или поздно факт незаконной перепродажи/дарения узкоспециализированной программы обязательно всплывёт. Перестраховаться с помощью составления договора с конкретными ограничениями для конкретного пользователя по-моему было бы неплохо. Договор на продажу есть, и то, о чем вы пишите не имеет смысла, поскольку речь идет о "TRIAL" версии. Ни какие договора в этом случае не предусматриваютсяНазвание: Re: Trial версия программы. Защита. Отправлено: sy от Июнь 27, 2009, 08:09 Предлагаю вот какой вариант:
1) Не триал версия никаких защит в себе не содержит. А вот триал будет работать только при наличии подключения к интернет (следует оформить как ограничение триал версии, типа хотите халявы будте добры к инету подключитесь). 2) На простиньком хостинге (для надежности можно на двух, но придется реплицировать таблицу триалов) размещается php скрипт + отдна таблица в mySQL с парами ID - время экспайред триала (таблица триалов). На запрос от триальной программы (содержит ID инсталляции продукта и обязательно _версию_ защиты продукта) он отвечает текущим временем и блоком инициализации критичных переменных. Итого: без доступа к сайту прогамма не будет верно работать + никакой платформозависимости. Чтобы труднее было сломать, можно накрутить систему свой-чужой, которая шифрует данные обмена со скриптом. Название: Re: Trial версия программы. Защита. Отправлено: break от Июнь 28, 2009, 02:53 Цитировать Как вариант можно защитить своё ПО на юридическом уровне. Если программный продукт предназначен для узкого круга пользователей, может быть стоит разработать договор купли/продажи, в котором предусмотреть ограничения на распространие (перепродажу, дарение и т.д.). То есть в случае нарушения этих ограничений вы можете подать в суд и требовать компенсации за нарушение тех или иных пунктов договора. Что скажете? ВаЩЕ Бред. Для всех ломанных программ которыми пользуется пол мира есть лицензионное соглашение в котором оговаривается запрет на использование без купленной лицензии. Вообще ели бы было все так просто - типа сделал документ и все послушались - то мы бы жили в идеальном мире без бандитизма, криминала, воровства и т.д. Цитировать Воспользуйтесь готовыми решениями для защиты ПО. Вот это интересный вариант - и я вам предложу использовать электронный ключ для защиты своей программы. Например триальная версия будет идти без ключа а настоящая с ключом. Или обе с ключом и тогда дату запуска в ключе хранить.Правда в этом смысле вам правильно предложили сделать не триал версию а Демо. Например Демо версия - половина функций нет - но идет без ключа. Полная - есть все но без ключа хрен запустишь (если купите хороший ключ и программа нужна узкому кругу пользователей то стандартными ломалками не сломать т.к. ключи стали умными, суют хлам в свой протокол обмена, используют разные алгоритмы для одних и тех же результатов и т.д. - вообще можно уникальный ключ заказать). Так как вы сказали что наличие интернета для триал не вариант - то скажу 100% - триал будет превращаться ЛЯГКО в полную версию в засисимоти от умности местного сис. админа. Хоть в 50 местах в системе сохраняй дату установки - один хрен я за 5 мин. накачу образ системы до программы, установлю ее заново и получу еще 30 дней. Раз в месяц устанавливать систмеу - не вопрос - а из образа хоть раз в день. А вот если действительно использовать интернет - то можно прищучить. Во первых есть сервера с которых берется точное время, во вторых можно на своем сервере обслуживающем триал версии регить экземпляры программы выдавая им определенный код, и составить табличку - код экхемпляра --> дата установки. Можно привязываиться к айпишнику, можно просто напечатать определенное число дисков с триал на конверте каждого свой уникальный код, можно код генерить - вариантов масса - но только через инет. В качестве подтверждения могу сказать что максимальный процент ломаний программ - это игры. И минимальный процент ломания тех игр которые требуют онлайн подключение. http://www.guardant.ru/ - один из вариантов ключей - Московская фирма. Ключи поддерживают счетчики, алгоритмы и всякую разную хрень вам должно хватить. Пользовался сам работая в одной фирме, проблем с консультациями и гарантией не наблюдалось. Название: Re: Trial версия программы. Защита. Отправлено: Igors от Август 11, 2009, 03:08 Добрый день
Да, это всегда большая PITA 1) Есть программы для кодировки/перемешивания exe/dll. Например. я использовал ACProtect (хотя это было довольно давно). Это конечно, не решение, но крови они взломщику попортят, забить пару команд nop'ами уже не получится. 2) По поводу trial идей нет. Сидеть с неправильной датой весьма неудобно, этого можно не очень опасаться. Но вот откатить назад реестр или даже просто раз в месяц переставить систему.... Борьба с этим означает еще одну работу для Вас - и довольно большую. И для каждой платформы. Не лучше ли вместо этого предложить демо, без всякой защиты, но например, с отрезанной записью в файл? 3) Сама защита. При отсутствии hardware key я использовал: а) В главном окне показываю имя пользователя и его мейл. Хочет шерить - пусть шерит. b) Привязка к computer name. Читать не напрямую а через GetProcAddress (взятый ранее) и строку-имя функции не светить. с) Выглядит глупо но зато хорошо работает: послать ID копии по udp. Если в сети обнаружено 2 или более запущенных копии - валить всех. Сидеть без сети и/или TCP/IP можно, но никто не хочет. Название: Re: Trial версия программы. Защита. Отправлено: max1983 от Август 27, 2009, 19:50 А при каждом запуске лезть в нет и проверять по базе сколько дней осталось?
Хотя всегда можно подделать трафик. Но если трафик шифруется на основании рандом именно клиента, тогда надо еще клиента ковырять. Хотя что-то рандом сервер сгенерит а что клиент. |