R>Нигде не прячу. Дата установки программы — это дата создания uninstall.exe R>При удалении uninstall.exe программа считает триал законченным. R>В программах простой if дата > 30 делать то-то. Никаких защит.
Это слишком просто, патчится 2-3 байтами (команда перехода).
Я знаю что есть пользователи которые не доверяют патчам, но есть такие которые способны сделать diff бинарей
и если патч будет коротким (2-3 байта), то это вполне себе безопасно патчить.
Здравствуйте, nen777w, Вы писали:
N>Где вы его прячете или прятали?
В реестре (для винды) + время создания каталога\файла конфигурации + вычисляю хэш конфиг файла (а он частенько обновляется и содержит полезную инфу) и пишу закодированный хэш в конфиг файл. Если при чтении конфига хэш не совпадает — все, триал истек.
Здравствуйте, sergey2b, Вы писали:
S>Здравствуйте, marcopolo, Вы писали:
M>>Я прятал во времени создания каталога программы. S>а что делали если поользователь деинсталлировал программу и удалял каталог ?
Разве нужно что-то делать? Триальный счетчик — это для приличных людей, на нем основывается напоминалка об оплате. Если кто платить не хочет — он скачает кряк конкурента и все равно не купит.
Кроме того, в софте использую надоедливые сообщения, мешающие работать, или ограничения по фунциональности.
...то и я попробую. Спрятать счетчик, конечно, можно, и при наличии фантазии сделать это можно очень изощренно. Но куда бы вы его ни спрятали, программа должна найти его, проверить и либо продолжить работу, либо сообщить юзеру какую-нибудь гадость или вообще завершиться. Но ведь хакер может найти это место в программе и заменить команду условного перехода на безусловный (или на nop) и программа станет полностью работающей. Как спрятать от него это место? И возможно ли это вообще?
Здравствуйте, 777777w, Вы писали:
7>...то и я попробую. Спрятать счетчик, конечно, можно, и при наличии фантазии сделать это можно очень изощренно. Но куда бы вы его ни спрятали, программа должна найти его, проверить и либо продолжить работу, либо сообщить юзеру какую-нибудь гадость или вообще завершиться. Но ведь хакер может найти это место в программе и заменить команду условного перехода на безусловный (или на nop) и программа станет полностью работающей. Как спрятать от него это место? И возможно ли это вообще?
Встроенная виртуальная машина с проверочным кодом и последующей дешифровкой части основного кода.
Но подумайте, действительно ли вам это нужно? Может так статься, что стоимость защиты будет выше потенциальной прибыли.
Здравствуйте, 777777w, Вы писали:
7>Но ведь хакер может найти это место в программе и заменить команду условного перехода на безусловный (или на nop) и программа станет полностью работающей.
может, но люди которые ставят крэки в большинстве случаев не купят.
самое главное это защита от кейгена, всё остальное бесполезное баловство.
Здравствуйте, 777777w, Вы писали:
7> программа должна найти его, проверить и либо продолжить работу, либо сообщить юзеру какую-нибудь гадость или вообще завершиться. Но ведь хакер может найти это место в программе и заменить команду условного перехода на безусловный (или на nop) и программа станет полностью работающей. Как спрятать от него это место? И возможно ли это вообще?
Условный переход надо оставить, чтобы хакер был доволен, что быстро поломал программку.
Ну а дальше в коде, желательно не сразу, можно поизощреннее что-нибудь делать. Проверять, что со счетчиком что-то не то, и работать некорректно. Конечно, есть мнение, что может пойти слава, что программа плохо работает и все такое. Но тут уж плата за неудобства для нелегальных пользователей.
Здравствуйте, Unhandled_Exception, Вы писали:
U_E>Ну а дальше в коде, желательно не сразу, можно поизощреннее что-нибудь делать. Проверять, что со счетчиком что-то не то, и работать некорректно. Конечно, есть мнение, что может пойти слава, что программа плохо работает и все такое. Но тут уж плата за неудобства для нелегальных пользователей.
Делал такое. Потом через 2 года забываешь про заподлянки и в результате ошибок страдают обычные юзеры.
Здравствуйте, marcopolo, Вы писали:
M>Делал такое. Потом через 2 года забываешь про заподлянки и в результате ошибок страдают обычные юзеры.
Я же говорю, что за все есть своя плата. Я такое не практикую, потому что придерживаюсь мнения, что заплатит тот, кто готов платить, а тот, кто ломает, все равно не заплатит, так и бог с ним.