|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Akzes, софт для частного предприятия - документооборот, контроль пользователей и т.п.
Ситуация была следующая, что заставило задуматься о защите посерьезней: Софт покупался фирмой в рассрочку с поэтапной оплатой в несколько месяцев. Стояло ограничение до определенной даты, при наступлении "черной даты", приложение отключалось и предлагалось купить лицензию. Подробней о том, как все было реализовано: 1. Файл инсталляции (находился у меня, не продавался) генерировал переменную и записывал ее в реестр. 2. При запуске приложения шла проверка - существует ли в данном разделе реестра переменная N и каково ее значение. При совпадении приложение запускалось, при несовпадении - сообщение "Ошибка! Нет прав доступа. Приобретите лицензионную версию!". Это собственно была защита от тупого копирования с компа на комп. Что касается ограничения в использовании до определенной даты: При наступлении "черной даты" при запуске приложения уничтожалась переменная и при следующем запуске программа ее не находила, соответственно выдавая сообщении о предложении купить лицензию. Что мной было сделано не так? И как могли продлить дату использования не меняя ее на предшествующую? Я предполагаю (может неверно из-за неимения достаточного кол-ва информации), что экзешник распаковали, сменили дату, запаковали и все ОК. Или такого быть не может? Не могу понять 1. возможно ли раскрыть exe-файл? 2. в каком виде отображается листинг программы, в том же что и я вижу при написании или в двоичном виде, или в кодах ассемблера? 3. возможно ли во взломанном файле внести коррективы и чтобы потом приложение работало корректно? Если да, тогда получается все бессмысленно. Но исходя из твоих постов и твоей уверенности что взломать затратнее, чем купить, я могу сделать вывод, что я ошибаюсь... разъясни неучу... Извини, что со мной приходиться нянчиться как с первокурсником. По твоему алгоритму все понятно. Готовые процедуры ты все дал, остается их только подставить в нужное место. Последний раз редактировалось Только учусь, 17.08.2009 в 23:28. |
#17
|
|||
|
|||
1. Да, возможно.
2. Можно декомпилировать до асма. О том, что можно декомпилировать exe до паскаля лично я не слышал (именно exe). 3. Да, возможно. Для этого достаточно декомпилировать до асма. Итого. Да, такая защита только от ламера. Любой более-менее толковый пользователь сможет снести такую защиту. Достаточно эффективно кодировать куски кода, что бы они в принципе были недоступны в незарегистрированной версии. Но разработка такой защиты самостоятельно - очень дорогое удовольствие. Проще что-нить купить. Посмотри в сторону ASProtect и ExeCriptor. |
#18
|
||||
|
||||
Только учусь,
Цитата:
На счет взлома... Упакуй прогу по совету lmikle. Есть спец крипторы - т.е. программы для защиты приложений от дизассемблирования. Если несколько раз зашифровать, упаковать, скремблировать и прочими методами защититься - прогу будет сложно вскрыть, соотвественно взломать. Для этого потребуется куча свпец. софта и навыков крэкера. Другой выход разрабатывать защиту самому. Но в одиночку без серьезных навыков программирования это будет сложно. т.к. известные методы защиты имеют известные методы взлома, а неизвестные - само собой требуют времени для анализа и реверсного инжиниринга. Пусть ненавидят миллионы, зато любят тыщи (с) Многоточие |
#19
|
|||
|
|||
Всем спасибо за ответы!
Теперь картина ясна Да, разрабатывать защиту в одиночку - дело серьезное, тем более без серьзных навыков программирования. Скажите, а тот способ, что предлагал Akzes, насколько эффективен (считывание и шифрование серийника)? Хотелось бы услышать мнения по этому поводу. Тем более если экзешник до асма распаковывается, сложно ж будет увидеть процедуру шифрования? Или для знающего это тоже не проблема? А мне нужно двигаться в сторону ASProtect и ExeCriptor. А как вы защищаете свои творения? понимаю, вопрос глупый, но хотя бы в общих чертах или с помощью чего? И еще вопрос - собираюсь разрабатывать БД под SQL сервером. Будет ли это являться так сказать косвенной защитой, т.е. сервер нужно будет настроить нужным образом и обслуживать в случае неисправности работы приложения. (данный вопрос на начальной стадии изучения) |
#20
|
|||
|
|||
Никто не будет анализировать процедуру распаковки/расшифровки. Просто найдут переход, ведущий к завершению программы в триал-режиме и его подправят.
Особенности настройки SQL-серверов всем и так известны. Так что тут про защиту вообще говорить не приходится |
#21
|
|||
|
|||
но если шифровать все-таки придется (пароли), то вот здесь неплохая идея :
http://delphiworld.narod.ru/base/more_crypt.html |
#22
|
||||
|
||||
Цитата:
А по теме: практически невозможно создать программу которая была бы защищена от копирования и запуска на другой машине. (разве что от обывателей, но и они с каждым годом становяться умнее или ущут в инете готовые кряки) О предложенном Akzes -ом методе: 1. Если он шифрует значение переменной(любые постоянные данные системы: предложенный номер винта и т.п.),то соответсвенно он должен где-то брать ключ,и соответсвенно защита нулевая. 2. Еси он берет хеш переменной, тогда другое дело, но никто не мешает немного изменить его программу и перед той строкой, где прога берет хеш переменной, полученный результат изменить на тот который позволит дальше пользоваться программой. Последний раз редактировалось Konrad, 19.08.2009 в 13:40. |
#23
|
|||
|
|||
Цитата:
1. Справедливости ради: это не моя реализация ... 2. И, кроме того, идея неплохая (у того, кто придумал) - затруднить процесс дешифровки. Т.е., это вспомогательная мера и не более того. 3. А шифровать надо комбинацией методов типа MD5, SHA1 и т.д. |
#24
|
|||
|
|||
мой метод тут уже обсуждают
lol это не метод, а мое предложение человеку, как сделать защиту серьезней, чем то что он имел... |
#25
|
||||
|
||||
Цитата:
2. Практически никак не затруднит, если следовать приведенному примеру. 3. Это не шифры. Последний раз редактировалось Konrad, 19.08.2009 в 23:14. |
#26
|
||||
|
||||
Советую всеже сторонними методами пользоваться..Есть люди которые в этом хорошо разбираются.
Для коммерческого приложения я бы посоветовал ORiEN Мощная штука. Вот здесь страничка по этому поводу. Приложение платное - как сообщает сам автор - стоимость - "сколько не жалко". Цитата:
Пусть ненавидят миллионы, зато любят тыщи (с) Многоточие |
#27
|
||||
|
||||
P.S. я бы не взялся прогу, защищенную по максимуму этой защитой взламывать....
Пусть ненавидят миллионы, зато любят тыщи (с) Многоточие |
#28
|
|||
|
|||
Цитата:
Кому очень надо - все равно взломают. Или закардят. Нет абсолютной защиты. Но можно настолько усложнить именно взлом, что экономически он станет нецелесообразным. Однако это, как я уже сказал, не защитит от кардеров. |
#29
|
|||
|
|||
Цитата:
:-) |
#30
|
|||
|
|||
Вообще-то, это был бы интересный эксперимент.
У меня вообще нет опыта ДеШифровки и вскрытия. Но вот зашифровать и "запутать" текст - это вполне возможно. Но насколько это эффективно ? Может попробуем провести эксперимент ? Ниже два примера: 1. Здесь зашифрованный пароль. Чтобы упростить задачу: длина ключа - не более 16 латинских символов в регистре LoCase Код:
і…Ї±ЎЋЫ–*—нeљєІЎ¤јЎ№q)°№gъkЃЌoc` 2. Здесь зашифрованный текст. Для упрощения: 2 строчки. Код:
1urvxBD//lL8AvbI/w0g2PsE+BkZI5be/A3IIRH+/wUfJRcTE2cNMEPiElUMJisu /vAtHD3wKyIzPylWRDM3VpUtJjiQHVU9PkdDQldLSgk4P24QVHowIlhAV2FGQglKWGskSVNUbUtgTXBqYC89fVgkbJVyXnxwdHtxZcpwZnAsmW10h56JhIpSoDOTgpLjsIaOssJpW5uGieOXqYRhlI+Vqp69nLSMuO+WlL9vpJeYftTPnr+wpgOiuc1us62ywufFiL+2vHLIt8tdxcPDx/Dw08ruux7SvMJe88bD5tHR3dbR9jfn2tygwvHt7yzf28HB8bAE8e66FujkA+z+/OsQ/MXT+wCwBgIT2CkGBAENAMkrJw5sBjDzPRgAKg0DBHATOBxxChkwJypX Может быть кто-то попробует ? |