| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > Защита проги |
| Автор: trix 31.8.2004, 09:12 |
| Подскажите как конкретно реализовать защиту. К примеру прога работает 30 дней, после этого в ней исчезают некоторые возможности пока юзер ее не купит (или сломает буду очень благодарен! |
| Автор: ManiaK 31.8.2004, 10:38 |
| А к чему, не понимаю?! Разве наш народ программистский ещё не понял, что на шароварах ничего не заработать? У меня друг(ныне покойный, к сожалению |
| Автор: chipset 31.8.2004, 10:44 | ||
Но не зря же едят свой хлеб фирмы типа RegNow и.т.д? Живут ведь.. Другое дело что придумать оригинальную программу трудно, но это исключительно проблемы команды которая решила продать прожку. |
| Автор: Gold Dragon 31.8.2004, 10:48 |
| Я делал проверку по дате и времени и загонял данные в реестр и дублирующий файл в windows/system. При открытии прога проверяет данные из реестра и файла (равны ли). Потом смотрит системное время и дату, исли меньше, то блокирует прогу. А при выходе записивал новые дату и время. Ещё следил чтобы во время работы время и дату не переводили, т.е. не получилось что новые дата/время меньше А вообще - это гемор |
| Автор: Конструктор 31.8.2004, 10:51 |
| Red Dragon, такой подход можно резво отследить утилитками от Sysinternals |
| Автор: chipset 31.8.2004, 10:53 |
| блокировать программы Sysinternals на время создания файла или создавать его нестандартным методом |
| Автор: Gold Dragon 31.8.2004, 11:27 |
| А я и сказал, что это всё гемор. Как вариант, данные записывать в сам EXE`шник. |
| Автор: Wowa 31.8.2004, 11:32 |
| на форуме уже были темы по защите программ. Пользуйтесь поиском. Там обсуждение далеко ушло очень. |
| Автор: trix 31.8.2004, 12:18 | ||
воспользовался, только все это вода. если конкретно, то меня интересует слудущий вопрос: от куда мне брать серийный номер и как из него сделать регистрационный? |
| Автор: chipset 31.8.2004, 12:27 | ||
Вкратце: 1. Генеришь своей программой, при первом запуске серийный номер 2. Записываешь его 3. Устанавливаешь состояние программы как "незарегистрирована-триал-30-дней" и дату когда она была первый раз запущена. 4. Прячешь последнее в ОЧЕНЬ скрытном месте, чтобы никто не мог найти ну и кодируешь там соотсветсвенно 5. Передаешь пользователю серийный номер 6. Пользователь отсылает его тебе на мыло (упрощенно). 7. Ты SN (серийник) преобразуешь по какой то формуле (важно). 8. Отсылаешь полученное юзверю 9. В программе на вражеской (то есть пользователя) стороне встроена такая же формула. 10. Программа сверяет полученное от юзера со своими сгенерированым числом. 11. Если правильно, благодарим и записываем в ОЧЕНЬ скрытное место информацию, типа всё клёво он зарегился больше препятсвий ему не чинить. 12. Если нет, вычисляешь дату и применяешь то что Red Dragon говорил. .. Главное чтобы: юзер не нашел где храниться статус, не узнал формулу. Вопросы по всем этапам приветсвуются |
| Автор: trix 31.8.2004, 12:39 | ||||
2chipset, спасибо, но если тебе не трудно, распиши точно так же следующие пункты.
хотя бы приблезительно, чтоб я знал на что ориентироваться. |
| Автор: <Spawn> 31.8.2004, 12:43 |
| trix В качестве серийника может и GUID подойти, если не придумаешь своего алгоритма |
| Автор: chipset 31.8.2004, 12:47 | ||||
Запускаешь рандомизатор (к примеру юзаешь rand() + srand() в C) и генеришь какое то определенное случайное число. Такое происходит если нету записи обозначающей статус.
Необходимо придумать формулу, желательно очень сложную чтобы две разных программы (на твоей и юзверя) смогли проверить результат. Допустим юзверь отсылает число - "256". Кейген на твоей машине преобразует число по страшно сложной формуле (пусть будет x*2) и получает 512. Затем он отсылает полученное 512 пользователю, программа на его машине опять же превращает свой SN в контрольное число (512) и сверяет с полученным. Если я допустим введу в программу не 512, с этого определенного ключа, то мне не удастся снять ограничения. С другой стороны на чужой машине заранее сгенерированное число может быть не 512, а 512 или 912.. Сорри за немного невнятное обьяснение |
| Автор: trix 31.8.2004, 12:53 |
| Всем Очень Благодарен! Red Dragon chipset <Spawn> с меня пиво. |
| Автор: Gold Dragon 31.8.2004, 14:29 | ||
|
| Автор: Ignat 31.8.2004, 14:32 |
| Red Dragon, будешь сливать пиво по интернету |
| Автор: Gold Dragon 31.8.2004, 14:34 |
| Ignat Нужен новый протокол прибумать и какой-нибудь пивной браузер, спецификацию по сортам, определить скорость передачи (чтоб за рабочий день не стать алкоголиком) |
| Автор: Ignat 31.8.2004, 14:36 |
| А урл какой? beer://beer.light.cz/kozel/drink.bot |
| Автор: Gold Dragon 31.8.2004, 14:41 |
| Ignat Расширение не правильное, нужно вот как drink.b4 - для пива 4% drink.b5 - для пива 5% drink.b5t - для пива 5% тёмного ... drink.v40 - для водки |
| Автор: trix 31.8.2004, 14:44 |
![]() Балтика # 9, крепкое. Светлое. Плотность - 16,5%. Крепость - 8% vol. Калорийность - 62 ккал. Добавлено @ 14:46 есть и другие сорта, но уже за деньги. |
| Автор: Ignat 31.8.2004, 14:48 | ||
Тогда лучше drink.а96 |
| Автор: Gold Dragon 31.8.2004, 14:58 | ||
Не, трафик загружать сильно будет |
| Автор: Ignat 31.8.2004, 15:16 |
| Ну нет больше всего будет грузить drink.b4 - его не меньше ведра на нос надо. А drink.a96 со стакан слил и по уши. |
| Автор: Клявас® 1.9.2004, 16:14 |
| ахахахахахахаа ну вы и шутники |
| Автор: bel_nikita 1.9.2004, 23:11 | ||
Я не знаю, но может в этом случае RSA подойдет. Там, как раз два ключа надо: открытый и закрытый. И реализовывается не сложно. http://zahist.narod.ru/its2000_42.htm http://zeus.sai.msu.ru:7000/nets/semenov/6/crypt_64.shtml |