Текущий архив: 2005.09.25;
Скачать: CL | DM;
Вниз
Защита ПО. Найти похожие ветки
← →
worldmen © (2005-08-15 19:22) [0]Какие меры можно предпринять по защите своего ПО? (теоретические или практические советы)
Чтобы без ввода кода прога работала как демо-версия, а с кодом полнофункциональная?
← →
AlexWlad © (2005-08-15 19:32) [1]Если писал просто так - сядь и подумай, а нужна-ли кому твоя программа, чтоб ее стоило защищать.
Для коммерческого проекта такие вопросы оговариваются заранее (технологии и стоимость).
Впрочем посмотри в сторону Asprotect, или StarForce ( гы-ы-ы... )
← →
Eraser © (2005-08-15 20:33) [2]AlexWlad © (15.08.05 19:32) [1]
Если писал просто так - сядь и подумай, а нужна-ли кому твоя программа, чтоб ее стоило защищать.
Не правильная постановка вопроса, имхо. Сейчас ломают даже абсолютно бесполезные проги - было бы что ломать!
Впрочем посмотри в сторону Asprotect
Согласен!
worldmen © (15.08.05 19:22)
Советую не мудрить сильно с защитой, но и не делать совсем уж ламерскую.
← →
Anatoly Podgoretsky © (2005-08-15 20:58) [3]Eraser © (15.08.05 20:33) [2]
Сейчас ломают даже незащищенные, бесплатные программы - было бы что ломать!
← →
rolex (2005-08-15 22:09) [4]Да вы чё? Какие ASProject? Бесполезно защищать. Всё легко взламывать. Единственное, это можно подумать над аппаратной защитой (flash-ключи), и то их тоже ломают.
← →
Eraser © (2005-08-15 22:13) [5]rolex (15.08.05 22:09) [4]
Да вы чё? Какие ASProject? Бесполезно защищать. Всё легко взламывать.
Во-первых далеко не легко, особенно сразу после выходов новых версий ASProject. Как-то, по-моему, пол года взломать не могли!
← →
Defunct © (2005-08-16 02:50) [6]> пол года взломать не могли
как для системы защиты это не срок.
как для отдельной программы - срок, за который не стоит и браться за взлом.
> rolex (15.08.05 22:09) [4]
аппаратная защита не взламывается. при попытке взлома (если это действительно аппаратная защита, а не надежда на то, что за вас все сделает "мастер установки защиты") защищенная программа обязательно потеряет часть функций и станет непригодной к использованию. Но здесь явно не тот случай. Аппаратные ключи не подходят, т.к. там где имеют место демо версии - там расчет на массового потребителя и соответственно на низкую цену за копию. Аппаратный же ключ существенно повлияет на цену.
> Чтобы без ввода кода прога работала как демо-версия, а с кодом полнофункциональная?
Поступить стандартным образом:
Демо версия генерирует открытый ключ, который надо будет сообщить Вам, в ответ на который вы отправляете ключ активации копии. По этим двум ключам расшифровывается часть функций демо версии программы, превращая ее в полнофункциональную.
← →
worldmen © (2005-08-16 18:29) [7]БОЛЬШОЕ СПАСИБО ЗА СТОЛЬ ОЖИВЛЕННУЮ ДИСКУССИЮ.
Насколько я понял - ASProject - это СИСТЕМА защиты. (ничего пока о ней не знаю, раньше не интересовался защитой)
Я планирую:
- привязать прогу к железу.
- при работе в демо, прога ограничивается временем работы (прога по бухгалтерии- ограничение функций не подходит)
Ваши предложения...
← →
Vudu (2005-08-16 23:18) [8]Самое простое делаеш переменную register, при регистрации чтонибудь записываеш в реестр, а при запуске программы проверяеш есть там это или нет,
при работе программы если register=false тогда делаеш ограничения все просто как апельсин :)
можно еще какоенибудь шифрование сделать
Stealth PE защитит программу от начинающих хакеров
если шифровать все текстовые сообщения при регистрации и записывать не только в реестр а еще куданибудь то это поможет и от более продвинутых хакеров (но даже средний крекер все это взломает).
-- идеальной защиты нет! --
← →
George © (2005-08-16 23:30) [9]Гы. Даже юзер такую засчиту взломает :) Достаточно прогу, которая мониторит обращения в реестр... Вот идея привязки к железу более соблазнительно звучит, вот толька ты будешь прописывать инфу о железе в проге и под каждую машину компилировать? А если машин будет много?
← →
Eraser © (2005-08-16 23:37) [10]worldmen © (16.08.05 18:29) [7]
Один из главных минусов привязки к железу, в том что сразу становится недоступной такая услуга, как автоматическая выдача ключей регистратором при покупке программы.
← →
Defunct © (2005-08-17 02:20) [11]George © (16.08.05 23:30) [9]
Информацию о железе можно собрать однократно перед формированием открытого ключа. Потом в роли открытого ключа будет выступать ответный ключ получаемый после регистрации, а закрытым ключем будет само железо, и не надо ничего нигде хранить.
> Eraser © (16.08.05 23:37) [10]
Почему это?
← →
Gydvin © (2005-08-17 07:15) [12]На мой взгляд лучше непользоваться ASProject, так как это ведет к необоснованному вздутию реестра (то есть ASProject загаживает реестр ключами). Потом ломается так-же легко(сам ломал).
И для тех кто невкурсе своими словами.
ASProject построен на основе одного известного вируса (непомню какого). Несколько примеров из его функционала: как говорил сохранение своих ключей в реестре, так-же возможность произвольного выхода в инет короче как, я в одной статье вычитал мол ничего хорошего.
Я пользуюсь ASPACK и UPX (скрамблер вклютельно)
← →
Shopot © (2005-08-17 07:49) [13]А такой метод. Написал прогу. В начале сегмента данных оставил место, например массив на 1000 байт. Он будет забит нулями. При вводе кода открываешь свой exe как обычный файл данных и пишешь в начало че хочешь, имя, там, дату, время и т.п. Перезапускаешь прогу и смотришь, есть ли в массиве данные и если есть то спасибо за регистрацию.
← →
worldmen © (2005-08-17 10:56) [14]
> Информацию о железе можно собрать однократно перед формированием
> открытого ключа. Потом в роли открытого ключа будет выступать
> ответный ключ получаемый после регистрации, а закрытым ключем
> будет само железо, и не надо ничего нигде хранить
Я так и думал сделать.
> Shopot © (17.08.05 07:49) [13]
> А такой метод. Написал прогу. В начале сегмента данных оставил
> место, например массив на 1000 байт. Он будет забит нулями.
> При вводе кода открываешь свой exe как обычный файл данных
> и пишешь в начало че хочешь, имя, там, дату, время и т.п.
> Перезапускаешь прогу и смотришь, есть ли в массиве данные
> и если есть то спасибо за регистрацию.
Это интересно. Только я незнаю как это делается. Это что-то с компилятором нужно сделать?
← →
pepper © (2005-08-17 11:42) [15]TurboPower OnGuard в исходниках как основа......а дальше рученками и напильником до образования приемлемой для этой программы защиты.....
← →
evvcom © (2005-08-17 11:42) [16]
> Это что-то с компилятором нужно сделать?
С компилятором делать ничего не нужно! Проще ресурс добавить.
← →
worldmen © (2005-08-17 12:57) [17]
> С компилятором делать ничего не нужно! Проще ресурс добавить.
Это вместо exe-шника?
← →
Eraser © (2005-08-17 13:26) [18]Defunct © (17.08.05 02:20) [11]
Почему это?
Откуда регистратору будет известна информация о железе, чтобы сгенерировать нужный reg-key?
← →
Gydvin © (2005-08-17 14:05) [19]Eraser © (17.08.05 13:26) [18]
Из ключа который генерирует демка при покупке лицензии.
Допустим идет привязка к четырем каким небуть железякам.
Если одна из них накрывается отсылается новый код с номером лицензии регистратору, он по базе смотрит и если совпадение с предыдущим железом там 75-50% то высылает код активации, а код заносит в базу.
← →
Eraser © (2005-08-17 14:19) [20]Gydvin © (17.08.05 14:05) [19]
отсылается новый код с номером лицензии регистратору, он по базе смотрит и если совпадение с предыдущим железом там 75-50% то высылает код активации, а код заносит в базу
Как вы этот процесс себе представляете?! Какая "база"?!
Программа, которая генерирует reg-key на стороне регистратара создаётся по строгим правилам и приедназначена только для генерации ключа по параметрам, которые указывает заказсчик при покупке, никаких "кодов с номером лицензии" там и в поминен нету, запускается это программа 1 раз при каждой покупке лицензии.
← →
Gydvin © (2005-08-17 14:55) [21]Eraser © (17.08.05 14:19) [20]
Может мы говорим о разных вещах?
Я имею введу чел достает софт, инсталирует, запускает и тут обана прога то оказывается условно бесплатная и кидается какимито цифрами-буквами и электронным адресом.
Так вот код который выдает демка (допустим привязанная к метке тома. Метка тома равняется -222) 222*2=444 этот код мы высылаем регистратору. Регистратору тот берет и 444/2=222. То есть регистратор узнает, что метка тома у пользователя равна 222 и выполняет след. действия.
222*3 =666 и отсылает обратно.
Активируем. При активации делаем сравнение 444/2=666/3. Yes прога зарегина.
Теперь зачем база. Очень многие боятся приобритать ПО привязаное к железу (по причине а вдруг сломается, покупать заново? Да и владельцу влом выеснять все подробности) потому мы можем сделать след.
Взять например:
Серийник харда+мамки+серийник биоса+еще какая небуть дрянь. и получить код 444@4554@345345@67567 допустим так. В результате мы имеем какието сведения о железе, которые мы можем внести в базу на тот случай чтобы тебя лишний раз ненадули (хотя всеравно надуют, но в меньше, до появления кеугена) и операясь на этот первый кеу мы можем при каком либо чп у юзера со спокойной совестью выдать ему новую активацию.
← →
George © (2005-08-17 23:03) [22]Может аффтар все-таки объяснит для каких целей он прогу пишет? Ато мы тут идеи выдвигаем сногсшибательные, а на самом деле окажется...
← →
Eraser © (2005-08-17 23:37) [23]Gydvin © (17.08.05 14:55) [21]
Так вот код который выдает демка (допустим привязанная к метке тома. Метка тома равняется -222) 222*2=444 этот код мы высылаем регистратору. Регистратору тот берет и 444/2=222. То есть регистратор узнает, что метка тома у пользователя равна 222 и выполняет след. действия.
Слабое место подчёркнуто!
Проблема именно в том, что нету возможности выслать этот код. Только разве, что просить пользователя вводить код, например, вместо названия фирмы... но тут многие запутаются.
← →
Defunct © (2005-08-18 00:30) [24]Eraser © (17.08.05 23:37) [23]
Нет в этом слабого места. Это просто банальный пример.
Выслать запросто - открытым текстом, ибо ключ открытый и ничего не значащий. Однократно ввести ключ полученный от регистратора для юзера тоже труда не составит.
George все так доходчиво описал, единственное:
- отосланный регистратору ключ кроме как регистратором больше нигде не используется, т.е. не 444/2=666/3, а 222 - 666/3 = старт.
Так в чем вы видите сложность?
← →
S.P.I.R.I.T (2005-08-18 00:49) [25]Мне кажется (это мое мнение) самая лучшая защита это написать клиент программу, а все основные функции программы будут лежать на сарвере в интернете. Сервер смотрит зарегистрированный клиент? Если нет то кикает его например.
← →
Eraser © (2005-08-18 00:50) [26]Defunct © (18.08.05 00:30) [24]
Так в чем вы видите сложность?
КАК отослать регистратору этот открытый ключ? На примере ShareIt, например...?
Единственный вариант - ручная/полуавтоматическая обработка регистраций.
← →
Eraser © (2005-08-18 00:50) [27]S.P.I.R.I.T (18.08.05 00:49) [25]
Лет через 10-20 так и будет.
А щас инет дорогой и не у всех.
← →
Наиль © (2005-08-18 00:58) [28]>[25]
Посмотри
http://delphimaster.net/view/1-1123756035/
Здесь Eraser легко рушит твою (и мою) теорию.
← →
Defunct © (2005-08-18 01:11) [29]Eraser © (18.08.05 00:50) [26]
> КАК отослать регистратору этот открытый ключ?
> Единственный вариант - ручная/полуавтоматическая обработка регистраций.
Естественно полуавтомат, а как иначе? может пользователь передумал регистрироваться.
Мне почему-то вначале показалось, что вы оспаривали совсем другое, а именно, что нельзя сделать автоматический регистратор.
> Один из главных минусов привязки к железу, в том что сразу становится недоступной такая услуга, как автоматическая выдача ключей регистратором при покупке программы.
Теперь я понял о чем вы говорили. И в этом вопросе согласен, да действительно нельзя обойтись одним ключем, соответственно нельзя сделать дистрибутив для продажи "на диске".
Но и вы поймите другую позицию, в настоящее время мало кто покупает специализированные программы на диске или в магазине. Чаще - скачивают, пробуют, а потом покупают (читать регистрируют). Для класса таких программ привязка к железу оправдана, так как она(привязка) ничего не добавляет и не убавляет к процессу регистрации. Регистратор же вполне способен выдавать ключи автоматически.
← →
Eraser © (2005-08-18 01:53) [30]Defunct © (18.08.05 01:11) [29]
Естественно полуавтомат, а как иначе? может пользователь передумал регистрироваться.
Мне почему-то вначале показалось, что вы оспаривали совсем другое, а именно, что нельзя сделать автоматический регистратор.
...
Но и вы поймите другую позицию, в настоящее время мало кто покупает специализированные программы на диске или в магазине. Чаще - скачивают, пробуют, а потом покупают (читать регистрируют).
Опять мы про разные вещи! )
Регистратор же вполне способен выдавать ключи автоматически.
Что он прекрасно и делает, но на основе имеющихся у него данных.
Проблема в том, что нету возможности, при регистрации, сообщить регистратору ключ с информацией об аппаратуре.
Т.е. необходимо помимо регистрации у оффициального регистратора, регистрироваться ещё и в своей БД на сайте. Но для того чтобы выдать ключ, надо быть уверенным, что юзер зарегился у оф-го регистратора, т.е. заплатил деньги. Короче замкнутый круг! Полностью автоматизировать процесс хоть и возможно, но будет работать не надёжно.
← →
Defunct © (2005-08-18 02:29) [31]> Проблема в том, что нету возможности, при регистрации, сообщить регистратору ключ с информацией об аппаратуре.
Ну как так нет, перечитайте Gydvin © (17.08.05 14:55) [21].
пример подобного алгоритма регистрации в ImageCraft C, Visual DSP++ и многих других спецпрограммах. Расчет по системе купонов.
По кредитке приобретается купон, в полуавтоматическом режиме вводится код купона, далее накладывается локальная информация и вся эта кухня шлется регистратору, регистратор высылает ключ активации и все. Юзер радуется. Никто не мешает при наложение локальной информации собрать информацию об аппаратуре.
← →
Gydvin © (2005-08-18 06:32) [32]Eraser © (18.08.05 01:53) [30]
ААА я понял о чем вы, как регистратор узнает о том, что заплатили?
Ну это просто.
Есть номер заказа. При перечислении денег юзер также высылает свой код. Когда владелец получает деньги, а это несомненно ручная часть работы, он юзеру присваивает свой индетификационный код, который и вносит в базу+ первый кеу, а дальше уже все автоматически я имею введу для владельца. А юзеру впринципе особого труда несоставит при чп выйти в инет и получить активацию.
Кстати регистратор можно сделать в виде инет-страницы с формой.
Типа
Номер заказа_______
индетификационный код __________
Текущий кеу______________
Активация __________ Button.caption:="Generate";
← →
rolex (2005-08-29 07:45) [33]Дизассемблируется прога, ищется место где сравниваются ваши ключи, изменяет несколько битов и дело сделано.
Я думаю один из эффективных способов, это сделать две версии проги: demo и полная.
В demo версии убираются физически куски кода (удаляем некоторые функции/процедуры, это и будет ограничение demo-версии), F9 и раздаём. Если кто-то захочет зарегить прогу, высылает вам деньги, а вы ему отправляете полную версию.
Что думаете насчёт этого?
← →
Lamer@fools.ua © (2005-08-29 08:32) [34]>>rolex (29.08.05 07:45) [33]
>Я думаю один из эффективных способов, это сделать две версии проги: demo и полная.
В demo версии убираются физически куски кода (удаляем некоторые функции/процедуры, это и будет ограничение demo-версии), F9 и раздаём. Если кто-то захочет зарегить прогу, высылает вам деньги, а вы ему отправляете полную версию.
Что думаете насчёт этого?
Думаю, что максимум через месяц полнофункциональная версия "проги" будет лежать на половине варезных сайтов (если это, конечно, не очередной выдвигатель лотка CD/DVD привода).
← →
КаПиБаРа © (2005-08-29 08:48) [35]rolex (29.08.05 7:45) [33]
После этого полная версия выкладывается в инете для свободного скачивания.
Можно сделать так.
Для каждого клиента генерируется отдельный дистрибутив. В нем зашит какой-то ID. По этому ID продавец отслеживает историю дистрибутива. Если начало приходить много заявок на активацию одного дистрибутива, то значит он плохо взломан или скорее всего незаконно скопирован. Больше его не активируем.
Для того что-бы не выпустили автоматический ломальщик защиты, через определенные периоды времени (а желательно для каждого заказа) выпускаем новые дистрибутивы с маленько измененной защитой. Можно так же переодически менять названия функций в dll и перемещать их в другие DLL.
Таким образом вламывать будут только единственный экземпляр программы.
Для прикрытия можно в инете выложить кучу ложных ломалок и генераторов паролей, что-бы настоящая взломаная копия затерялась среди них.
← →
rolex (2005-08-29 12:04) [36]
> Для прикрытия можно в инете выложить кучу ложных ломалок
> и генераторов паролей, что-бы настоящая взломаная копия
> затерялась среди них.
Неплохая идея =)
А ещё, чтобы ложная ломалка убивала винду, в наказание халявщику!
← →
Наиль © (2005-08-29 12:59) [37]
> Если начало приходить много заявок на активацию одного дистрибутива,
> то значит он плохо взломан или скорее всего незаконно скопирован.
> выпускаем новые дистрибутивы с маленько измененной защитой
А поздно. По свету уже бродят активированые и хорошо взломаные старые дистибутивы.
← →
КаПиБаРа © (2005-08-29 13:09) [38]Наиль © (29.08.05 12:59) [37]
Я же сказал, что
Для прикрытия можно в инете выложить кучу ложных ломалок и генераторов паролей,
Можно выложить якобы криво крякнутые версии программы по функционалу ограниченные до демо версий или выдающие заранее спланированные ошибки, которые объясняются "кривыми руками" крякеров. Вообщем начать в инете массированную компанию по дискридитации крякнутых версий программ.
← →
Gydvin © (2005-08-29 13:18) [39]rolex (29.08.05 07:45) [33]
А не кто и не говорит, что это супер-пупер защита, и что взломать ее невозможно. Речь то вобще пошла о привязки к железу.
В demo версии убираются физически куски кода (удаляем некоторые функции/процедуры, это и будет ограничение demo-версии), F9 и раздаём.
А здесь, что-бы показать возможности своей проги, ты должен оставить основные функции (а иначе какой смысл), которые ты хочешь продать. Так? А остальные обрезанные процедуры (как я делал) легко дописываются (конечно тяжко, но возможно).:)
Наиль © (29.08.05 12:59) [37]
точно
← →
Anatoly Podgoretsky © (2005-08-29 13:21) [40]КаПиБаРа © (29.08.05 13:09) [38]
которые объясняются "кривыми руками" крякеров. Вообщем начать в инете массированную компанию по дискридитации крякнутых версий программ.
Смешной человек, до этого даже не дойдет, это не криво крякнутые версии, а криво написанные версии.
Страницы: 1 2 вся ветка
Текущий архив: 2005.09.25;
Скачать: CL | DM;
Память: 0.61 MB
Время: 0.025 c