Re[3]: Наличие кигенов к продуктам - это все-таки хорошо или
От: CEMb  
Дата: 27.08.10 06:41
Оценка:
Здравствуйте, PolyTech, Вы писали:

I>Вы путаете защиту и систему лицензирования.


Я их не путаю, я их перемешиваю. В коде.

CEM>>Самописной защитой на основе асимметричных ключей можно защитить утилиту за 25$ самому запросто.


PT>Система лицензирования и защита это разные вещи. После того как вы напишете свою систему лицензирования опять встанет вопрос "а как теперь её защитить?".


Да, само собой.

Но дело в том, что это, как бы, два уровня защиты.
Для честных людей и для нечестных.
Для честных людей — лицензии. Если ты простой честный человек — у тебя один путь — купить ключик.

Теперь про нечестных. Им закон не писан. Они могут влезть в код и что-то там сделать. А потом ещё всем раздать (со своими троянами... но это уже детали... )
Если они патчат защиту, то патч перед работой смотрит сигнатуру кода, иначе можно просто зарубить весь код. Соответственно патч работатет только на ОДНОМ нашем билде.
Кейгену же, если его удалось сделать, пофиг на код. Он работает на ВСЕХ версиях, вне зависимости от билда.

Далее. Момент пересечения нечестных и честных людей, которых в разы больше
Если честный человек хочет программу нечестным путём, то он идёт за патчем. И после каждого нового билда он ищет соответствующий патч. Что весьма проблемно, при правильной тактике шароварщика — частом выпуске новых версий, даже просто перебилд с изменёнными стабами.
Если же честный человек находит кейген, то он просто получает ключ, и все апдейты программы принимают его за настоящего честно купишего покупателя. Жизнь его становится легка и непринуждённа.

Чувствуете разницу в двух этих случаях? А создаётся она быстро, путём использования асимметричных ключей. Даже если там защита типа if + msg->exit

CEM>>И кейгены станут невозможны, разве что тока ключ прям у тебя сопрут приватный.


PT>Вы не поверите, но кейгены к таким прогам тоже пишутся Совсем необязательно иметь "оригинальный" закрытый ключ — достаточно будет пропатчить открытый в самой проге и заменить его на открытый из своей пары. После таких нескложных махинаций можно писать свой кейген. Вобщем все опять упирается в защиту кода/данных от модификации.


Всё это до следующего релиза.

И у меня некие умельцы писали безлимитные лицензии к моей программе. С эл. подписью, со сроком до 9999 года, все дела. Я когда увидел такую лицензию, сурово загрустил. Но недолго, потом выяснилось, что без патча она нифига не работает
Re[4]: Наличие кигенов к продуктам - это все-таки хорошо или
От: Dimonka Верблюд  
Дата: 27.08.10 07:04
Оценка:
Здравствуйте, Dennis Zhuravlev a.k.a. Crane, Вы писали:

D>>Уж историю бы припрятали, а то складывается впечатление, что программа сплошной баг и тестируется на пользователях.


DZA>Не перегибай палку. Там релизы шли где-то раз в 2-3 месяца в среднем. Нормально для живого продукта, который постоянно надо подкручивать под всякие выверты осей, антивирей и фантазию крякеров.


На главной достаточно оставить инфу о последних двух-трёх релизах.
Остальная информация о релизах, на мой взгляд, вызывает скорее негативные эмоции.

DZA>А кто не пьет?! Назови! Нет, я жду! (с) Аркадий Велюров

Ага! Как с утра встал, сразу за дрель
Re[8]: Наличие кигенов к продуктам - это все-таки хорошо или
От: Dimonka Верблюд  
Дата: 27.08.10 07:07
Оценка:
Здравствуйте, serverside, Вы писали:

S>Звучит знакомо. Как правило, под таким лозунгом интерфейсы получаются куда кошмарнее, чем с самыми разухабистыми рюшками. Вы же коммерческий продукт делаете, а не какой-нибудь опенсорс. Значит, не только фичи продаёте, но и look and feel.


По идее ещё и саппорт продают, но пресейловый саппорт тоже пока какой-то оупенсорсный получается..
Re[8]: Наличие кигенов к продуктам - это все-таки хорошо или
От: kai3  
Дата: 27.08.10 09:05
Оценка:
Здравствуйте, K13, Вы писали:

D>>>Ну а отлаживать как защищённые программы? Только методом логгирования?

K>>Отлаживайте не защищенные, после защиты работоспособность не изменяется.

K13>хихи. по опыту с тремя разными навесными защитами -- поведение программы может измениться даже при повторном наложении защиты на исходный бинарник


если защита не поддерживает многослойность, то она обязана пользователю об этом сообщить, и распознать, был этот файл уже защищен или нет.

По крайней мере в Enigma Protector с этим все нормально.
Re[4]: Наличие кигенов к продуктам - это все-таки хорошо или
От: kai3  
Дата: 27.08.10 09:11
Оценка:
PT>>Вы не поверите, но кейгены к таким прогам тоже пишутся Совсем необязательно иметь "оригинальный" закрытый ключ — достаточно будет пропатчить открытый в самой проге и заменить его на открытый из своей пары. После таких нескложных махинаций можно писать свой кейген. Вобщем все опять упирается в защиту кода/данных от модификации.

CEM>Всё это до следующего релиза.


Просто если скачают генератор, то и патч для открытого ключа скачать будет не проблема.. Так что впринципе патч + генератор тоже самое что и генератор.

а найдут сигнатуру, одинаковую во всех версиях, и сделают универсальный патч для любых версий.
Re[5]: Наличие кигенов к продуктам - это все-таки хорошо или
От: CEMb  
Дата: 27.08.10 09:57
Оценка:
Здравствуйте, kai3, Вы писали:

CEM>>Всё это до следующего релиза.


K>Просто если скачают генератор, то и патч для открытого ключа скачать будет не проблема.. Так что впринципе патч + генератор тоже самое что и генератор.


Нет, не тоже самое. Этот генератор — чужой. Он генерит ключи только для _своего_ открытого, патчем пробитого в код, вместо родного. Кстати, так делают последние гады, дабы продавать твою софту со своими лицензиями
А вот чтобы перепробить ключ, его надо найти в коде. Если ключ лежит одним куском — это легко сделать, а если его алгоритм модифицируемый собирает — уже нет.

Потом. Скачать 1 раз генератор _твоих_ ключей — это тоже совсем не то, чтобы качать каждый раз патч+генератор _чужих_ ключей. Ну или один раз чужой генератор и каждый раз патч. Потому что без патча программа будет чужие лицензии посылать нафиг, ибо автор-разработчик, не ведая, что творит — будет собирать софт со своим ключом

K>а найдут сигнатуру, одинаковую во всех версиях, и сделают универсальный патч для любых версий.


чё-то мы не допонимаем друг друга…
задача взломщика не найти одинаковую сигнатуру(зачем?), а найти сигнатуру в целевом файле, чтоб совпадала с тем, что пробито в патче. Это признак того, что ты патчишь правильную версию. Потому что я, к примеру, меняю код в стабах возле блоков проверок. Он меняется и по размеру и по содержанию. Если патч для версии №1 будет пачить версию №2 он просто её запорет. Поэтому добрые хакеры делают проверку на некую хэш-сумму, им одним ведомую, чтобы понять, может этот пачт тут работать или нет. Да, вот там я неверно выразился на счёт сигнатуры-то. Хэш они считают.

Мою программу так сначала и ломали — выкладывали патчи. Но так как я быстро выпускал новые релизы, пиратов и их поклонников это быстро подзадолбало, и они стали выкладывать сразу патченные версии целиком, так как патчи никогда почти не работали на версиях с моего сайта.
Re[5]: Наличие кигенов к продуктам - это все-таки хорошо или
От: CEMb  
Дата: 27.08.10 10:05
Оценка:
Здравствуйте, kai3, Вы писали:

CEM>>Всё это до следующего релиза.


K>Просто если скачают генератор, то и патч для открытого ключа скачать будет не проблема.. Так что впринципе патч + генератор тоже самое что и генератор.


Нет, не тоже самое. Этот генератор — чужой. Он генерит ключи только для _своего_ открытого, патчем пробитого в код, вместо родного. Кстати, так делают последние гады, дабы продавать твою софту со своими лицензиями
А вот чтобы перепробить ключ, его надо найти в коде. Если ключ лежит одним куском — это легко сделать, а если его алгоритм модифицируемый собирает — уже нет.

Потом. Скачать 1 раз генератор _твоих_ ключей — это тоже совсем не то, чтобы качать каждый раз патч+генератор _чужих_ ключей. Ну или один раз чужой генератор и каждый раз патч. Потому что без патча программа будет чужие лицензии посылать нафиг, ибо автор-разработчик, не ведая, что творит — будет собирать софт со своим ключом

K>а найдут сигнатуру, одинаковую во всех версиях, и сделают универсальный патч для любых версий.


чё-то мы не допонимаем друг друга…
задача взломщика не найти одинаковую сигнатуру(зачем?), а найти сигнатуру в целевом файле, чтоб совпадала с тем, что пробито в патче. Это признак того, что ты патчишь правильную версию. Потому что я, к примеру, меняю код в стабах возле блоков проверок. Он меняется и по размеру и по содержанию. Если патч для версии №1 будет пачить версию №2 он просто её запорет. Поэтому добрые хакеры делают проверку на некую хэш-сумму, им одним ведомую, чтобы понять, может этот пачт тут работать или нет. Да, вот там я неверно выразился на счёт сигнатуры-то. Хэш они считают.

Мою программу так сначала и ломали — выкладывали патчи. Но так как я быстро выпускал новые релизы, пиратов и их поклонников это быстро подзадолбало, и они стали выкладывать сразу патченные версии целиком, так как патчи никогда почти не работали на версиях с моего сайта.
Re[6]: Наличие кигенов к продуктам - это все-таки хорошо или
От: kai3  
Дата: 27.08.10 10:13
Оценка: -1
Здравствуйте, CEMb, Вы писали:

CEM>Здравствуйте, kai3, Вы писали:


CEM>>>Всё это до следующего релиза.


K>>Просто если скачают генератор, то и патч для открытого ключа скачать будет не проблема.. Так что впринципе патч + генератор тоже самое что и генератор.


CEM>Нет, не тоже самое. Этот генератор — чужой. Он генерит ключи только для _своего_ открытого, патчем пробитого в код, вместо родного. Кстати, так делают последние гады, дабы продавать твою софту со своими лицензиями

CEM>А вот чтобы перепробить ключ, его надо найти в коде. Если ключ лежит одним куском — это легко сделать, а если его алгоритм модифицируемый собирает — уже нет.

CEM>Потом. Скачать 1 раз генератор _твоих_ ключей — это тоже совсем не то, чтобы качать каждый раз патч+генератор _чужих_ ключей. Ну или один раз чужой генератор и каждый раз патч. Потому что без патча программа будет чужие лицензии посылать нафиг, ибо автор-разработчик, не ведая, что творит — будет собирать софт со своим ключом


K>>а найдут сигнатуру, одинаковую во всех версиях, и сделают универсальный патч для любых версий.


CEM>чё-то мы не допонимаем друг друга…

CEM>задача взломщика не найти одинаковую сигнатуру(зачем?), а найти сигнатуру в целевом файле, чтоб совпадала с тем, что пробито в патче. Это признак того, что ты патчишь правильную версию. Потому что я, к примеру, меняю код в стабах возле блоков проверок. Он меняется и по размеру и по содержанию. Если патч для версии №1 будет пачить версию №2 он просто её запорет. Поэтому добрые хакеры делают проверку на некую хэш-сумму, им одним ведомую, чтобы понять, может этот пачт тут работать или нет. Да, вот там я неверно выразился на счёт сигнатуры-то. Хэш они считают.

CEM>Мою программу так сначала и ломали — выкладывали патчи. Но так как я быстро выпускал новые релизы, пиратов и их поклонников это быстро подзадолбало, и они стали выкладывать сразу патченные версии целиком, так как патчи никогда почти не работали на версиях с моего сайта.


Выпуск новых версий это хорошо, только тут другая проблема, появляются вот такие гении которым это не нравится
http://www.rsdn.ru/forum/shareware/3935108.1.aspx
Автор: Dimonka
Дата: 26.08.10


Вообще лучше использовать онлайн активацию, причем, чтобы, по возможности, если программа позволяет, часть функций выполнялась удаленно на сервере разработчика. В этом случае ключ можно заблокировать, да и сервер не примет чужие ключи.

Зачем найти сигнаруту? Например, не в вашем случае, а вообще, таких ошибок полно, рядом с открытым ключем есть какой нибудь код, одинаковый во всех версиях (будем считать что этот код — сигнатура). Вы выпускате новую версию, выходит патч который ищет в файле открытый ключ, т.к. вы поменяли ключ — патч не сработает, и его генератор тоже. Но любители могут искать не открытый ключ в файле, а эту сигнаруту, и по ее смещению находить новый, измененый открый ключ и патчить его. Таким образом, можно будет сделать более менее универсальный патч.
Re[7]: Наличие кигенов к продуктам - это все-таки хорошо или
От: Dimonka Верблюд  
Дата: 27.08.10 12:45
Оценка:
Здравствуйте, kai3, Вы писали:

K>>>А по соотношению стабильность/качество/цена аналогов вообще нет!

CD>>Можно ссылочку на исследование, которое привело к такому выводу?

K>не поленитесь, сравните цены и функционал других протекторов, это займет только несколько минут


Неполенитесь, напишите, какие известные программы защищены вашим протектором, тогда мы сможем оценить качество функционала по наличию/отсутствию кряков/кейгенов.
Re[8]: Наличие кигенов к продуктам - это все-таки хорошо или
От: SetiSoft Россия http://setisoft.com
Дата: 27.08.10 13:01
Оценка:
Здравствуйте, Dimonka, Вы писали:

D>Неполенитесь, напишите, какие известные программы защищены вашим протектором, тогда мы сможем оценить качество функционала по наличию/отсутствию кряков/кейгенов.


А разве не показатель наличие/отсутствие кряков к самим протекторам? Смысл оценивать защищенные программы конечно есть, но с одной оговоркой что они действительно защищены правильно. Имхо, в большинстве то своем виноваты те кто правильно пользоваться защитой не умеют
~~~~~~~~~~~~~~~~~~
@LiEn [ SetiSoft (c) Tech ]
Re[4]: Наличие кигенов к продуктам - это все-таки хорошо или
От: PolyTech Россия https://vmpsoft.com
Дата: 27.08.10 13:58
Оценка:
Здравствуйте, Shaan, Вы писали:

S>Это уже не в чистом виде кейген, и поэтому это гораздо меньшее зло.


Обычно делают патчер+кейген в одном флаконе, так что монопенисуально.

S>Т.к. пользователю нельзя будет поставить себе версию с сайта и скачивать бесплатно обновления.


Зависит от универсальности патчера — если сигны открытого ключа меняться не будут, то должен пахать и для новых версий.

S>Уважаемый Politech — ну сделайте вы наконец поддержку коротких ключей!


Пока в планах нет.
Re[6]: Наличие кигенов к продуктам - это все-таки хорошо или
От: PolyTech Россия https://vmpsoft.com
Дата: 27.08.10 14:09
Оценка: 6 (1)
Здравствуйте, CEMb, Вы писали:

CEM>задача взломщика не найти одинаковую сигнатуру(зачем?), а найти сигнатуру в целевом файле, чтоб совпадала с тем, что пробито в патче. Это признак того, что ты патчишь правильную версию. Потому что я, к примеру, меняю код в стабах возле блоков проверок. Он меняется и по размеру и по содержанию. Если патч для версии №1 будет пачить версию №2 он просто её запорет. Поэтому добрые хакеры делают проверку на некую хэш-сумму, им одним ведомую, чтобы понять, может этот пачт тут работать или нет. Да, вот там я неверно выразился на счёт сигнатуры-то. Хэш они считают.


Я сейчас вам расскажу как делается патчер, который вообще не будет трогать не единого байта в образе файла
Итак. Имеем ехе-ник, который прогоняем через KANAL/IDA, в результате чего находим название библиотек, которые использовались в вашей программе. Качаем эти библиотеки и курим код. Находим места, в которых идет выделение памяти и в которые потом разворачивается открытый ключ. Далее пишем DLL, которая будет хучить АПИ выделения памяти и пропускать все вызовы через себя. При N-ом выделении памяти патчим открытый ключ по ранее выделенному блоку памяти. DLL-ку можно прописать в реестр венды, чтобы она автоматом грузилась к каждому процессу и сама определяла нужный процесс, для которого нужно перехватывать выделение памяти. Подсовывание нового серийника в памяти криптобиблиотеки можно добавить по вкусу
Re[9]: Наличие кигенов к продуктам - это все-таки хорошо или
От: Dimonka Верблюд  
Дата: 27.08.10 14:11
Оценка:
Здравствуйте, SetiSoft, Вы писали:

D>>Неполенитесь, напишите, какие известные программы защищены вашим протектором, тогда мы сможем оценить качество функционала по наличию/отсутствию кряков/кейгенов.


SS>А разве не показатель наличие/отсутствие кряков к самим протекторам?


Отсутствие кряков говорит о том, что протектором скорее всего мало кто пользуется.

SS>Смысл оценивать защищенные программы конечно есть, но с одной оговоркой что они действительно защищены правильно. Имхо, в большинстве то своем виноваты те кто правильно пользоваться защитой не умеют


А какой смысл тогда оценивать описание фич?
В конце концов когда защищённую программу сломают, ответом будет — сам виноват, пользоваться программой не умеешь.
Re[9]: Наличие кигенов к продуктам - это все-таки хорошо или
От: icezone  
Дата: 27.08.10 14:43
Оценка:
Здравствуйте, kai3, Вы писали:

K>если защита не поддерживает многослойность, то она обязана пользователю об этом сообщить, и распознать, был этот файл уже защищен или нет.


При чем здесь многослойность? Просто на чистый экзешник накладываем защиту — не работает. Снова на него же (на чистый, не защищенный) накладываем — работает.
Re[7]: Наличие кигенов к продуктам - это все-таки хорошо или
От: CEMb  
Дата: 27.08.10 14:54
Оценка:
Здравствуйте, PolyTech, Вы писали:

PT>Я сейчас вам расскажу как делается патчер, который вообще не будет трогать не единого байта в образе файла

PT>Итак. Имеем ехе-ник, который прогоняем через KANAL/IDA, в результате чего находим название библиотек, которые использовались в вашей программе. Качаем эти библиотеки и курим код. Находим места, в которых идет выделение памяти и в которые потом разворачивается открытый ключ. Далее пишем DLL, которая будет хучить АПИ выделения памяти и пропускать все вызовы через себя. При N-ом выделении памяти патчим открытый ключ по ранее выделенному блоку памяти. DLL-ку можно прописать в реестр венды, чтобы она автоматом грузилась к каждому процессу и сама определяла нужный процесс, для которого нужно перехватывать выделение памяти. Подсовывание нового серийника в памяти криптобиблиотеки можно добавить по вкусу

Дельно! Спасибо за идею. Буду теперь по-другому выделять память. Тут 2 способа: 1. N-сделать случайным числом. 2. Выделить "квадратный" кусок памяти, и уже в нём орудовать.

А что про меня, то у меня в программах используются только стандартные виндовые библиотеки, т.е. вообще стандартные, от использования сторонний криптованных библиотек меня сразу отучили бывалые люди, когда я только первую шаровару делал

Давайте ещё идеи про взлом!


"Специалист по наркотикам должен знать и любить наркотики"
Д.Вашингтон

Re[7]: Наличие кигенов к продуктам - это все-таки хорошо или
От: CEMb  
Дата: 27.08.10 15:01
Оценка:
Здравствуйте, kai3, Вы писали:

K>Вообще лучше использовать онлайн активацию, причем, чтобы, по возможности, если программа позволяет, часть функций выполнялась удаленно на сервере разработчика. В этом случае ключ можно заблокировать, да и сервер не примет чужие ключи.


Это да, но это несколько усложняет жизнь пользователю, такая активация хорошо подходит для больших продуктов.
Да и удалённо я, например, работать не могу, у меня полный реальтайм. Хотя бродят идеи про он-лайн-овые настройки в программах, но это пока мечты

K>Зачем найти сигнаруту? Например, не в вашем случае, а вообще, таких ошибок полно, рядом с открытым ключем есть какой нибудь код, одинаковый во всех версиях (будем считать что этот код — сигнатура). Вы выпускате новую версию, выходит патч который ищет в файле открытый ключ, т.к. вы поменяли ключ — патч не сработает, и его генератор тоже. Но любители могут искать не открытый ключ в файле, а эту сигнаруту, и по ее смещению находить новый, измененый открый ключ и патчить его. Таким образом, можно будет сделать более менее универсальный патч.


Ну, кстати, по сигнатуре ещё можно ломать простые защиты типа messagebox, даже где-то слышал, есть статьи для кульных хацкеров: "как самому взломать программу"
А открытый ключ надо держать кусками в разных местах, а можно ещё его шифровать
Re[8]: Наличие кигенов к продуктам - это все-таки хорошо или
От: PolyTech Россия https://vmpsoft.com
Дата: 27.08.10 15:15
Оценка: +1
Здравствуйте, CEMb, Вы писали:

CEM>Дельно! Спасибо за идею.


Да незачто

CEM>Буду теперь по-другому выделять память. Тут 2 способа: 1. N-сделать случайным числом. 2. Выделить "квадратный" кусок памяти, и уже в нём орудовать.


Ну это все находится анализом в тойже IDA. Тут нужен совсем другой подход — переводить всю работу с памятью на криптоконтейнеры + обфусцировать/виртуализировать весь код, который с этим работает.

CEM>А что про меня, то у меня в программах используются только стандартные виндовые библиотеки, т.е. вообще стандартные, от использования сторонний криптованных библиотек меня сразу отучили бывалые люди, когда я только первую шаровару делал


Если имеется ввиду CryptoAPI, то это просто на порядок упрощает взлом — достаточно будет при декрипте залить в буфер нужные данные (ну ессно предварительно похучив CryptDecrypt).

CEM>Давайте ещё идеи про взлом!


Для начала думаю хватит
Re[8]: Наличие кигенов к продуктам - это все-таки хорошо или
От: GPcH Россия http://www.dotfixsoft.com
Дата: 29.08.10 10:51
Оценка:
Здравствуйте, serverside, Вы писали:

S>>>Ошибаетесь. Программеры — тоже люди.


K>>Согласен, причем такие люди которым не хочется и не надо тратить время на разгреб рюшечек! Так все и сделано.


S>Звучит знакомо.


Знакомо то знакомо. Но как показала суровая практика интерфейс протектора
НИКАК не влияет на продажи. Ни в большую, ни в меньшую сторону. Увы.
... << RSDN@Home 1.2.0 alpha rev. 679>>
Re[9]: Наличие кигенов к продуктам - это все-таки хорошо или
От: GPcH Россия http://www.dotfixsoft.com
Дата: 29.08.10 10:51
Оценка:
Здравствуйте, SetiSoft, Вы писали:

SS>Здравствуйте, Dimonka, Вы писали:


D>>Неполенитесь, напишите, какие известные программы защищены вашим протектором, тогда мы сможем оценить качество функционала по наличию/отсутствию кряков/кейгенов.


SS>А разве не показатель наличие/отсутствие кряков к самим протекторам?


Неа. Ко всем современным протекторам есть в паблике карденные ключи
и патчи для отвяза этих ключей от Hardware ID. PeP в их числе.
... << RSDN@Home 1.2.0 alpha rev. 679>>
Re[9]: Наличие кигенов к продуктам - это все-таки хорошо или
От: serverside https://www.restuner.com
Дата: 29.08.10 14:55
Оценка: :)))
Здравствуйте, GPcH, Вы писали:

S>>Звучит знакомо.


GPH>Знакомо то знакомо. Но как показала суровая практика интерфейс протектора

GPH>НИКАК не влияет на продажи. Ни в большую, ни в меньшую сторону. Увы.

Ну так двигать кровати только на определённом этапе помогает


--
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.