Re[6]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 16:58
Оценка: 9 (1)
Здравствуйте, Alex Mova, Вы писали:

AM>Но что они могут сделать? Снять триал. Одни "роются" в реестре и вычищают дату первого запуска, другие "снимают" защиту с экзешника. Но, естественно, ни одна из этих программ не может восстановить зашифрованный код. Вывод прост — главное ограничение — ограничение


суть-то не в том, чтобы "восстановить зашифрованный код". а в том, чтобы получить рабочий экзешник, который можно пропатчить. полностью код действительно не восстанавливается этими программами. но, к примеру, asap успешно снимал защиту каких-то версий аспротекта, при этом для с неснимаемыми ее элементами (по-моему, расшифровкой импортов on fly) он боролся посредством dll-библиотечки с соответствующими функциями расшифровки, взятыми непосредственно из asprotect'a.

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


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

если же хочется все-таки реализовать защиту технически, то наиболее успешен комплексный подход. хорошая защита (не идеальная!!, а только лишь "геморройная" для взломщика), на мой взгляд, отличается тремя основными критериями:
1. затруднено нахождение валидного серийного номера или ключевого файла;
2. затруднено изменение кода программы (патч);
3. затруднена собственно локализация "регистрационных" участков кода программы.

+ для любителей: 4. мелкие пакости ;)

соответственно пунктам, возможные методы:
1. проверка "зарегистрировано/нет" — на ваш вкус, лишь бы не было легко обратимых алгоритмов. ДА: проверенные криптоалгоритмы. НЕТ: привязка к железу (больше проблем будет, чем выгоды).
2. сильная навесная защита. тот же аспротект (версии поновее). свой пакер писать практически бессмысленно.
3. различные anti-debugging tricks, запутывание потенциального взломщика параллельными потоками и невнятными вычислениями и прочий туман. очень много ломателей отсеются просто от того, что запарятся прорываться сквозь эти дебри.
4. не говорить, "зарегистрировано" или нет сразу после ввода пароля; (пример) программа считает свой crc и если "чует недоброе", то продолжает работать как обычно... пару дней =); (пример) если серийник входит в black-list, то продолжаем работать как ни в чем не бывало... ну вы поняли, пару дней =); (пример) программа проверяет, "а не ломают ли меня", и если есть подозрения, то осуществляет над введенными рег. данными совершенно левые преобразования и проверки %D.
Re: Как защитить свою программу?
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 30.05.03 12:45
Оценка: 3 (1)
Здравствуйте, dyakovlev, Вы писали:

D>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


Только ASProtect и ExeCryptor.

http://swfaq.h1.ru/6.shtml

Кстати, у меня проблем с тестовой интеграцией ASProtect в MFC-приложение не было.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re[5]: Как защитить свою программу?
От: Alex Mova  
Дата: 03.06.03 12:49
Оценка: 3 (1)
Здравствуйте, Kaa, Вы писали:

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


D>>вроде есть такая фича, как ASProtectDie...

Kaa>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.
То, что Гугл его не находит — это хорошо Называется это чудо "Die ASProtectDie". Поищи также "AsprStripperXP" Вроде, что то еще было из этой серии.
Но что они могут сделать? Снять триал. Одни "роются" в реестре и вычищают дату первого запуска, другие "снимают" защиту с экзешника. Но, естественно, ни одна из этих программ не может восстановить зашифрованный код. Вывод прост — главное ограничение — ограничение функциональности, кое-какие возможности должны быть недоступны в триальной версии. Кроме того, хорошо бы не ограничиваться возможностями навесной защиты и самому расставлять несложные "ловушки" в коде. Это не сделает программу "непробиваемой", но крови взломщику попортит
Хотя, по-моему, главное — продумать систему ограничений триальной версии так, что бы пользователю хотелось купить программу и пользоваться всеми ее возможностями, а не искать способ продлить триал.

WBR, Александр Мова
Re[5]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 15:52
Оценка: 3 (1)
Здравствуйте, Kaa, Вы писали:

D>>вроде есть такая фича, как ASProtectDie...

Kaa>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо

c ASPackDie перепутали, надо думать.
а против аспра есть caspr, asap, anti aspr.

Kaa>сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.


аспротект всегда было на порядок сложнее снять, чем прочие пакеры/протекторы. ибо хитро зашифрованная таблица импортов (с расшифровкой на лету), и anti-debug tricks, и т.д.
старые версии аспра снимаются в той или иной мере вышеозначенными программами.
касаемо новых версий утверждать не могу, но прогресс не стоит на месте не только у защитников, но и у их противников. =)

в любом случае, даже если "взломщику" не удастся ни распаковать защиту на автомате, ни сдампить/поправить, в запасе у него есть еще такой вариант, как loader. а лоадеру в общем случае никакого дела нет до того, в каком виде, за.. или распакованном, исполняемый файл хранится на диске.
Re[2]: Как защитить свою программу?
От: Alex Mova  
Дата: 30.05.03 13:01
Оценка: 2 (1)
Добрый день,

D>>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

Насчет привязки к hardware, А оно надо? Проблем с этим будет немеряно. Люди ведь меняют железо, и довольно часто. Привяжетесь к железу и будете получать письма от пользователей "на моем новом супер-пупер компьютере ваша отстойная программа не работает". И другим расскажет в каком-нибудь форуме или отзыв напишет на софт-архиве. Не помню кто это сказал, по-русски это будет так "В Интернете недовольный пользователь жалуется не шести своим знакомым, а шести тысячам". В общем, привязывать к железу нужно очень осторожно. Думаю, это целесообразно только для дорогого софта, ориентированного на профессиональную аудиторию.

D>>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

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

D>>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.

Странно, пользуюсь AsPrtectom не первый год и никогда не имел проблем с MFC. На нем почти все и пишу.

D>>Вобщем что еще есть стоящего в этой области?

Могу посоветовать тотже AsProtect, Armadillo, ExeCryptor.

DU>Если пишешь на уровне MFC то можно особо не мудрить,

DU>любой ассемблерщик снимет твою защиту сходу.
В случае использования навесных защит типа AsProtect или ExeCryptor нет никакой зависимости от того, на чем написана программа. Эти защиты основаны на шифровании участков кода и у меня есть серьезные сомнения в том, что "любой ассемблерщик" сможет восстановить зашифрованный код не имея ключа.

WBR, Александр Мова
Re[7]: Как защитить свою программу?
От: Alex Mova  
Дата: 03.06.03 17:35
Оценка: +1
Добрый вечер, codera, Вы писали:

AM>>Но что они могут сделать? Снять триал. Одни "роются" в реестре и вычищают дату первого запуска, другие "снимают" защиту с экзешника. Но, естественно, ни одна из этих программ не может восстановить зашифрованный код. Вывод прост — главное ограничение — ограничение


C> суть-то не в том, чтобы "восстановить зашифрованный код". а в том, чтобы получить рабочий экзешник, который можно пропатчить. полностью код действительно не восстанавливается этими программами. но, к примеру, asap успешно снимал защиту каких-то версий аспротекта, при этом для с неснимаемыми ее элементами (по-моему, расшифровкой импортов on fly) он боролся посредством dll-библиотечки с соответствующими функциями расшифровки, взятыми непосредственно из asprotect'a.


Ну и что это даст в случае, когда определенная часть функционала находится в зашифрованном состоянии? Только снимет ограничение по времени.

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


C> Да. это — единственный оправданный способ защиты. потому что если программа очень хорошая — сломают все равно, так или иначе =).

У меня еще более пессимистичный взгляд на эту проблему — не сломают, так купят по ворованной кредитке. И с этим ничего не поделаешь. Так что "заморачиваться" очень серьезной защитой не считаю нужным. Делайте свои программы лучше, серьезнее продвигайте их, делайте больше продаж — этим Вы заработаете куда больше положительных эмоций (не считая денег чем теша свое самолюбие своей крутой защитой

WBR, Александр Мова
Re[2]: Как защитить свою программу?
От: retalik www.airbandits.com/
Дата: 05.06.03 11:47
Оценка: :)
Здравствуйте, shmakov, Вы писали:

D>>Вобщем что еще есть стоящего в этой области?

S>Armadillo (http://www.siliconrealms.com) — от туда качай.
S>Генератор ключей найдешь на (http://www.astalavista.com)

Забавно... И что, защита к этой системе сделана на ней же?
Хорошая реклама, если в инете кейгены валяются
Успехов,
Виталий.
Как защитить свою программу?
От: dyakovlev Украина www.prof-uis.com
Дата: 30.05.03 10:47
Оценка:
Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.
Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.

Вобщем что еще есть стоящего в этой области?
Re: Как защитить свою программу?
От: DimkaU Россия  
Дата: 30.05.03 12:27
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

D>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

D>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


D>Вобщем что еще есть стоящего в этой области?



Если пишешь на уровне MFC то можно особо не мудрить,
любой ассемблерщик снимет твою защиту сходу.
ну например привяжись к реестру.
у Криса Касперски есть неплохая книжка, почитай на досуге.
Re[2]: Как защитить свою программу?
От: dyakovlev Украина www.prof-uis.com
Дата: 30.05.03 12:41
Оценка:
Здравствуйте, DimkaU, Вы писали:

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


D>>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

D>>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

D>>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


D>>Вобщем что еще есть стоящего в этой области?



DU>Если пишешь на уровне MFC то можно особо не мудрить,

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

Да я и не собирался сам реализовывать систему защиты. Зачем? лучше довериться профессиональным продуктам! просто таких продуктов целое море и мне нужно объективные мнения тех, кто сталкивался с таким выбором.
Re[2]: Как защитить свою программу?
От: dyakovlev Украина www.prof-uis.com
Дата: 30.05.03 12:56
Оценка:
Здравствуйте, Akzhan, Вы писали:

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


D>>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


A>Только ASProtect и ExeCryptor.


A>http://swfaq.h1.ru/6.shtml


A>Кстати, у меня проблем с тестовой интеграцией ASProtect в MFC-приложение не было.


Спасибо...
насчет ASProtect я еще сам попробую, а вот ExeCryptor, в нем можно сделать привязку к hardware?
дело в том, что круг продаж моей программы будет узок и вероятность личного знакомства потенциальных покупателей велика, поэтому обычные регистрационные ключи здечь не годятся, надо привязываться к определенной аппаратной конфигурации.
Re[3]: Как защитить свою программу?
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 30.05.03 13:22
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>насчет ASProtect я еще сам попробую, а вот ExeCryptor, в нем можно сделать привязку к hardware?


ExeCryptor может использовать стороннюю систему ключей, например, HardKey. Вы можете написать свою (как конверт для существующей) с привязкой к нужным аспектам железа. Или просто попротись авторов ExeCryptor реализать необходимую Вам, как [b]зарегистрированному[b] пользователю, функциональность.

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


Если продукт дорогой и серверный, то лучше использовать "железные" USB-ключи.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re: Как защитить свою программу?
От: Иван Цыгулёв Россия  
Дата: 30.05.03 16:07
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

D>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

D>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


ASProtect рулит...

что не получилось — спрашивай....
Re[3]: Как защитить свою программу?
От: Nikeware http://www.nikeware.com
Дата: 01.06.03 09:26
Оценка:
Здравствуйте, Alex Mova, Вы писали:

D>>>Вобщем что еще есть стоящего в этой области?

AM>Могу посоветовать тотже AsProtect, Armadillo, ExeCryptor.

Где-то слышал, что AsProtect можно в рассрочку приобрести.
Это правда, или "утка" какая?

"To merge or not to merge?"
www.visual-comparer.com
Re[4]: Как защитить свою программу?
От: Alex Mova  
Дата: 01.06.03 13:09
Оценка:
Добрый день, Nikeware

N>Здравствуйте, Alex Mova, Вы писали:


D>>>>Вобщем что еще есть стоящего в этой области?

AM>>Могу посоветовать тотже AsProtect, Armadillo, ExeCryptor.

N>Где-то слышал, что AsProtect можно в рассрочку приобрести.

N>Это правда, или "утка" какая?

Я тоже слышал о том, что AsProtect можно купить "в рассрочку", но у меня не было такой необходимости и я покупал сразу за полную цену. Так же я слышал о том, что ExeCryptor для xUSSR можно купить со значительной скидкой. Опять таки, сам я это не проверял. Сейчас спрошу авторов AsProtect и ExeCryptor есть ли у них какие-нибудь скидки. О результатах сообщу здесь.

WBR, Александр Мова
Re[4]: Как защитить свою программу?
От: grigsoft Беларусь http://www.grigsoft.ru/
Дата: 01.06.03 13:09
Оценка:
N>Где-то слышал, что AsProtect можно в рассрочку приобрести.
N>Это правда, или "утка" какая?

Это правда, но обращайся за этим к автору.

Игорь
Re[2]: Как защитить свою программу?
От: rastoman  
Дата: 01.06.03 15:32
Оценка:
ИЦ>ASProtect рулит...

Уже не один раз слышал, как этот ASProtect ломали
Re[5]: Как защитить свою программу?
От: Nikeware http://www.nikeware.com
Дата: 01.06.03 16:21
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>...Сейчас спрошу авторов AsProtect и ExeCryptor есть ли у них какие-нибудь скидки. О результатах сообщу здесь.


Спасибо.

"To merge or not to merge?"
www.visual-comparer.com
Re[2]: Как защитить свою программу?
От: Slov Украина http://www.helicontech.com
Дата: 01.06.03 17:16
Оценка:
Здравствуйте, Иван Цыгулёв, Вы писали:

D>>P.S. Слышал про ASProtect, но у меня возникли сложности с его

D>>использованием, не получается у меня внедрить его защиту в мой MFC-шный
D>>проект.

ИЦ> ASProtect рулит...


ИЦ> что не получилось — спрашивай....


Вот только недавно писал по поводу ASProtect. На всякий случай еще раз ссылку даю:
http://www.rsdn.ru/forum/?mid=280492&flat=0
Автор: Slov
Дата: 29.05.03

Так что я бы порекомендовал хорошенько подумать и провести всестороннее тестирование на разных системах прежде чем переходить на продукты типа ASProtect.
Posted via RSDN NNTP Server 1.5
WBR,
Yaroslav Govorunov
Re[3]: Как защитить свою программу?
От: dyakovlev Украина www.prof-uis.com
Дата: 02.06.03 06:41
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Добрый день,


D>>>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

AM>Насчет привязки к hardware, А оно надо? Проблем с этим будет немеряно. Люди ведь меняют железо, и довольно часто. Привяжетесь к железу и будете получать письма от пользователей "на моем новом супер-пупер компьютере ваша отстойная программа не работает". И другим расскажет в каком-нибудь форуме или отзыв напишет на софт-архиве. Не помню кто это сказал, по-русски это будет так "В Интернете недовольный пользователь жалуется не шести своим знакомым, а шести тысячам". В общем, привязывать к железу нужно очень осторожно. Думаю, это целесообразно только для дорогого софта, ориентированного на профессиональную аудиторию.

Уточню. Количество продаж моей программы, я думаю, не превысит 10 копий, продаваться это будет в одном городе среди фирм, занимающихся одним и тем же видом деятельности, и, возможно, контактирующих друг с другом. Поэтому и хочу сделать привязку к железу. И при изменении конфигурации компа проблем в запросе нового ключа не возникнет.

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

D>>>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

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

D>>>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.

AM>Странно, пользуюсь AsPrtectom не первый год и никогда не имел проблем с MFC. На нем почти все и пишу.

D>>>Вобщем что еще есть стоящего в этой области?

AM>Могу посоветовать тотже AsProtect, Armadillo, ExeCryptor.

DU>>Если пишешь на уровне MFC то можно особо не мудрить,

DU>>любой ассемблерщик снимет твою защиту сходу.
AM>В случае использования навесных защит типа AsProtect или ExeCryptor нет никакой зависимости от того, на чем написана программа. Эти защиты основаны на шифровании участков кода и у меня есть серьезные сомнения в том, что "любой ассемблерщик" сможет восстановить зашифрованный код не имея ключа.

Я точно не помню, но вроде есть такая фича, как ASProtectDie, которая позволяет есл ине удалить защиту, но обнулить счетчик запусков или кол-во дней в Trial сроке — это точно.


AM>WBR, Александр Мова
Re[4]: Как защитить свою программу?
От: IPv6 Казахстан  
Дата: 02.06.03 08:07
Оценка:
Здравствуйте, Nikeware, Вы писали:

N>Где-то слышал, что AsProtect можно в рассрочку приобрести.

N>Это правда, или "утка" какая?

А сколько он сейчас стоит если не секрет? со всеми накладными расходами (с учетом внедрения в код своих программ двустороннего общения с ASP) — личная оценка естественно
и еще вопрос — есть ли для него отдельный модуль генерации ключей (должен быть по крайней мере), т.к. многие шароварные архивы позволяют генерить ключи для регистрирующихся пользователей автоматом (ShareIt например позволяет), чтобы от автора минимум работы требовался. Если есть такой модуль, то обернуть его в соответствии с требованиями регсистратора уже не проблема
Re[6]: Как защитить свою программу?
От: Alex Mova  
Дата: 02.06.03 08:09
Оценка:
Добрый день,

AM>>...Сейчас спрошу авторов AsProtect и ExeCryptor есть ли у них какие-нибудь скидки. О результатах сообщу здесь.


N>Спасибо.


Вот ответ от SoftComplete (HardKey и ExeCryptor)
-----------------------------------------
ситуация такая — для SWRUS действуют специальные цены (в скобках
обычные цены для сравнения):
HardKey Pro ..... $99 ($149)
HardKey Lite .... $49 ($69)
EXECryptor ...... $49 ($99)

Sincerely,
Andre N Belokon
IT Manager
SoftComplete Development
-----------------------------------------
Не знаю, обязательно ли быть членом SWRUS (что само по себе весьма полезно) или достаточно быть русскоязычным шареварщиком, но скидки, как видите, очень приличные.

А вот ответ от автора AsProtecta
-----------------------------------------
Для начинающих русскоязычных программистов существует возможность отсрочки
(регистрацция в долг) сроком до полугода. Чтобы получить отсрочку требуется
выслать по адресу (support@aspack.com) следующую информацию:

1. Имя для регистрации (латиницей)
2. Адрес сайта с размещенной программой
3. Наименование фирмы регистратора с которой вы работаете.
4. Надежный e-mail для регистрации и рассылки новостей для
зарегистрированных
пользователей. Убедительная просьба указывать стабильноработающие e-mail
(не бесплатные).
-----------------------------------------

Так что, пишите авторам, спрашивайте, договаривайтесь. Благо, что один, что другой — по-русски понимают

WBR, Александр Мова
Re[4]: Как защитить свою программу?
От: Alex Mova  
Дата: 02.06.03 08:18
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>>>>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

AM>>Насчет привязки к hardware, А оно надо? Проблем с этим будет немеряно. Люди ведь меняют железо, и довольно часто. Привяжетесь к железу и будете получать письма от пользователей "на моем новом супер-пупер компьютере ваша отстойная программа не работает". И другим расскажет в каком-нибудь форуме или отзыв напишет на софт-архиве. Не помню кто это сказал, по-русски это будет так "В Интернете недовольный пользователь жалуется не шести своим знакомым, а шести тысячам". В общем, привязывать к железу нужно очень осторожно. Думаю, это целесообразно только для дорогого софта, ориентированного на профессиональную аудиторию.

D>Уточню. Количество продаж моей программы, я думаю, не превысит 10 копий, продаваться это будет в одном городе среди фирм, занимающихся одним и тем же видом деятельности, и, возможно, контактирующих друг с другом. Поэтому и хочу сделать привязку к железу. И при изменении конфигурации компа проблем в запросе нового ключа не возникнет.

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

D>А насчет отстойной программы — попрошу не выражаться. Программа-таки довольно хорошая и нужная, и конкурирующих аналогичных продутов пока нет.

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

D>>>>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

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

D>>>>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.

AM>>Странно, пользуюсь AsPrtectom не первый год и никогда не имел проблем с MFC. На нем почти все и пишу.

D>>>>Вобщем что еще есть стоящего в этой области?

AM>>Могу посоветовать тотже AsProtect, Armadillo, ExeCryptor.

DU>>>Если пишешь на уровне MFC то можно особо не мудрить,

DU>>>любой ассемблерщик снимет твою защиту сходу.
AM>>В случае использования навесных защит типа AsProtect или ExeCryptor нет никакой зависимости от того, на чем написана программа. Эти защиты основаны на шифровании участков кода и у меня есть серьезные сомнения в том, что "любой ассемблерщик" сможет восстановить зашифрованный код не имея ключа.

D>Я точно не помню, но вроде есть такая фича, как ASProtectDie, которая позволяет есл ине удалить защиту, но обнулить счетчик запусков или кол-во дней в Trial сроке — это точно.

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


WBR, Александр Мова
Re[7]: Как защитить свою программу?
От: Nikeware http://www.nikeware.com
Дата: 02.06.03 19:20
Оценка:
Здравствуйте, Alex Mova, Вы писали:


AM>А вот ответ от автора AsProtecta

AM>-----------------------------------------
AM>Для начинающих русскоязычных программистов существует возможность отсрочки
AM> (регистрацция в долг) сроком до полугода. Чтобы получить отсрочку требуется
AM> выслать по адресу (support@aspack.com) следующую информацию:

AM>Так что, пишите авторам, спрашивайте, договаривайтесь. Благо, что один, что другой — по-русски понимают


Да, авторы AsProtecta вам более оперативно ответили
Ну, подождем-с ...

Спасибо за информацию
Николай

"To merge or not to merge?"
www.visual-comparer.com
Re[4]: Как защитить свою программу?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 03.06.03 11:46
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>вроде есть такая фича, как ASProtectDie...

Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.
Алексей Кирдин
Re[5]: Как защитить свою программу?
От: Виталий Россия  
Дата: 03.06.03 12:21
Оценка:
Здравствуйте, Kaa, Вы писали:

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


D>>вроде есть такая фича, как ASProtectDie...

Kaa>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.

Ну, самый "простой" способ — это сдампить уже распакованную программу и потом восстановить руками таблицу импорта, после чего изучать непосредственно защиту, если она вообще есть. Не могу сказать что это так уж и просто, но если набить руку, то и не очень сложно. Автоматических анпакеров можно не особо бояться, так как в большинстве случаев они работают некорректно.
Re[6]: Как защитить свою программу?
От: Nikeware http://www.nikeware.com
Дата: 03.06.03 12:58
Оценка:
Здравствуйте, Alex Mova, Вы писали:

Kaa>>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.

AM>То, что Гугл его не находит — это хорошо Называется это чудо "Die ASProtectDie". Поищи также "AsprStripperXP"
Я находил в Google по "ASProtect Die" (с пробелом перед Die).

"To merge or not to merge?"
www.visual-comparer.com
Re[5]: Как защитить свою программу?
От: Nikeware http://www.nikeware.com
Дата: 03.06.03 13:05
Оценка:
Здравствуйте, IPv6, Вы писали:

IP>А сколько он сейчас стоит если не секрет?

99$

IP>и еще вопрос — есть ли для него отдельный модуль генерации ключей (должен быть по крайней мере)...

Модуль есть. Есть и пример его использования. Все это можно посмотреть, скачав с сайта триал-версию 1.21.

"To merge or not to merge?"
www.visual-comparer.com
Re[6]: Как защитить свою программу?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 03.06.03 15:15
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Но что они могут сделать? Снять триал. Одни "роются" в реестре и вычищают дату первого запуска, другие "снимают" защиту с экзешника.


Я тут провел микро-исследование вопроса. Оказалось как всегда, что край перепахан вдоль и поперек и защищаться можно только от тех кому не нужно ничего ломать. Также по пути оказалось, что и версия ASProtect (trial) у меня уж больно древняя, так-что особо попробовать то, что я накачал, не получится

AM>Но, естественно, ни одна из этих программ не может восстановить зашифрованный код. Вывод прост — главное ограничение — ограничение функциональности, кое-какие возможности должны быть недоступны в триальной версии. Кроме того, хорошо бы не ограничиваться возможностями навесной защиты и самому расставлять несложные "ловушки" в коде. Это не сделает программу "непробиваемой", но крови взломщику попортит


Да (вздыхает), прийдется А как хочется жить в идеальном мире. По моем постановке в триале должно быть все, а единственное ограничение — время. Однако, видимо, постановка не верна (ну, если упирать на сложность обнуления защиты).

Спасибо за информацию
Алексей Кирдин
Re[7]: Как защитить свою программу?
От: Виталий Россия  
Дата: 03.06.03 16:05
Оценка:
Здравствуйте, Kaa, Вы писали:

Kaa>Да (вздыхает), прийдется А как хочется жить в идеальном мире. По моем постановке в триале должно быть все, а единственное ограничение — время. Однако, видимо, постановка не верна (ну, если упирать на сложность обнуления защиты).


Можно попробовать такой вариант: дату, когда программа прекращает работать просто защивать в программу и нигде не хранить, но при этом придется постоянно обновлять дистрибутив на сайте. С первого взгляда может показаться не очень удобным, но ведь процесс можно автоматизировать
Re[6]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 16:05
Оценка:
Здравствуйте, Виталий, Вы писали:

Kaa>>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.

В>Ну, самый "простой" способ — это сдампить уже распакованную программу и потом восстановить руками таблицу импорта, после чего изучать непосредственно защиту, если она

защиту изучать можно и без дампа — в режиме real-time, отладчиком. суть действия паковщиков не в том состоит, чтобы затруднить анализ кода (для этого они мало пригодны). а в том, чтобы затруднить _изменение_ кода (патч).
ну т.е. если у вас программа самопроверяется на предмет триальности посредством некоего ключевого файла или серийного номера, причем алгоритм проверки обратим, то в данном случае применение аспротекта для защиты от взлома сопоставимо с применением валенок для защиты от дождя.

B>вообще есть. Не могу сказать что это так уж и просто, но если набить руку, то и не очень сложно. Автоматических анпакеров можно не особо бояться, так как в большинстве случаев они работают некорректно.


да.
Re[8]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 17:10
Оценка:
Здравствуйте, Виталий, Вы писали:

В>Можно попробовать такой вариант: дату, когда программа прекращает работать просто защивать в программу и нигде не хранить, но при этом придется постоянно обновлять дистрибутив на сайте. С первого взгляда может показаться не очень удобным, но ведь процесс можно автоматизировать :)


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

кроме того, некоторые не смущаются постоянно менять дату перед запуском time-trial программы. и даже утилиты, помнится, были, которые это автоматически предлагали делать. =)
Re[8]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 19:13
Оценка:
Здравствуйте, Alex Mova, Вы писали:

C>> импортов on fly) он боролся посредством dll-библиотечки с соответствующими функциями расшифровки, взятыми непосредственно из asprotect'a.

AM>Ну и что это даст в случае, когда определенная часть функционала находится в зашифрованном состоянии? Только снимет ограничение по времени.

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

C>> Да. это — единственный оправданный способ защиты. потому что если программа очень хорошая — сломают все равно, так или иначе =).

AM>У меня еще более пессимистичный взгляд на эту проблему — не сломают, так купят по ворованной кредитке. :( И с этим ничего не поделаешь. Так что "заморачиваться" очень серьезной защитой не считаю нужным. Делайте свои программы лучше, серьезнее продвигайте их, делайте больше продаж — этим Вы заработаете куда больше положительных эмоций (не считая денег :)) чем теша свое самолюбие своей крутой защитой:)

ну а что, можно и потешить. приятно ведь видеть, как свежий релиз никто не может сломать неделю, месяц.. [а потом таки ломают и пишут письмо, что да, защита хорошая, было интересно =) (это из древней статьи по защите shareware (с) Сергей Леонов, "Компьютерра") ]

по этому поводу вспоминается:
некто Andy Karimov, написавший антивирус Stop!, оснастил свое детище, по слухам, сказочной защитой. а будучи фидошником, почитывал эхи $crack$* (для неосведомленных: туда постятся кряки и запросы на них, в основном к shareware как раз). программу его всё никак не могли сломать, зато в эхе регулярно возникали письма с запросами типа "Дайте кряк на Stop!", на которые автор самолично отвечал: "И мне, и мне!!!". догадывались нечасто, а некоторые даже отвечали ворованным кодом.
Re[9]: Как защитить свою программу?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 03.06.03 19:42
Оценка:
Здравствуйте, codera, Вы писали:

C> по этому поводу вспоминается:

И чем закончилось?
Алексей Кирдин
Re[9]: Как защитить свою программу?
От: Alex Mova  
Дата: 03.06.03 19:55
Оценка:
Здравствуйте, codera, Вы писали:

C>>> импортов on fly) он боролся посредством dll-библиотечки с соответствующими функциями расшифровки, взятыми непосредственно из asprotect'a.

AM>>Ну и что это даст в случае, когда определенная часть функционала находится в зашифрованном состоянии? Только снимет ограничение по времени.

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

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

WBR, Александр Мова
Re[10]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 20:00
Оценка:
Здравствуйте, Kaa, Вы писали:

C>> по этому поводу вспоминается:

Kaa>И чем закончилось?

в фидо я не смотрю уж давно,
но, судя по всему, авторский стеб продолжается,
а кейген к Stop! так и не сделали..
Re[10]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 20:26
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Похоже, мы говорим о разном. Под "функционалом находящимся в зашифрованном состоянии" я подразумеваю некоторую часть кода, которая может быть расшифрована и выполнена только при наличии рег ключа (этим ключом и расшифровывается). Если ключа нет, то этот код не может быть расшифрован и, соответственно, выполнен. В этом коде может быть что угодно, а не только "адреса апи ф-ий, импортируемых из системных библиотек". Без ключа программа не сможет работать как полноценная, в ней не будут доступны "главные" возможности.


действительно, о разном.
по поводу вашего варианта вот что скажу. во-первых, аспротект таких "услуг" не предоставляет, насколько я знаю. так что все ручками придется, все зашифровки, расшифровки и проверки. (муторно, и поэтому, кстати сказать, редко встречается в shareware). во-вторых, "без ключа программа не сможет работать" — не факт. если не потрудиться над алгоритмом шифрования, то могут и восстановить.

как пример: пусть имеется рег_код, которым расшифровывается по вашему алгоритму кусок кода. пользователь вводит рег_код. как будем проверять его валидность? не пускать же на выполнение свежерасшифрованный кусок кода, гарантируя пользователю бурный обвал программы/системы в случае ошибки в одном знаке. значит, надо либо как-то считать crc рег_кода, либо crc расшифрованного кода, либо брать из расшифрованного кода пару байт и сравнивать с оригиналом. при этом часть карт неизбежно раскрывается (в частности, уменьшается область перебора рег_кодов, либо дается подсказка об оригинальном содержимом зашифрованного участка, ну и т.д.)

это лишь пример методики. на самом деле, тут все решает алгоритм шифрования. если постараться, то предыдущий абзац не поможет. этот способ защиты на самом деле неплох. но и, соответственно, время/мозго/ресурсо..затратен.
Re[11]: Как защитить свою программу?
От: Alex Mova  
Дата: 03.06.03 20:34
Оценка:
Здравствуйте, codera, Вы писали:

C>Здравствуйте, Alex Mova, Вы писали:


AM>>Похоже, мы говорим о разном. Под "функционалом находящимся в зашифрованном состоянии" я подразумеваю некоторую часть кода, которая может быть расшифрована и выполнена только при наличии рег ключа (этим ключом и расшифровывается). Если ключа нет, то этот код не может быть расшифрован и, соответственно, выполнен. В этом коде может быть что угодно, а не только "адреса апи ф-ий, импортируемых из системных библиотек". Без ключа программа не сможет работать как полноценная, в ней не будут доступны "главные" возможности.


C> действительно, о разном.

C> по поводу вашего варианта вот что скажу. во-первых, аспротект таких "услуг" не предоставляет, насколько я знаю. так что все ручками придется, все зашифровки, расшифровки и проверки. (муторно, и поэтому, кстати сказать, редко встречается в shareware). во-вторых, "без ключа программа не сможет работать" — не факт. если не потрудиться над алгоритмом шифрования, то могут и восстановить.
Ключевая фраза "насколько я знаю" Он (AsProtect) их предоставляет. Ктоме того, на AsProtecte свет клином не сошелся. Есть и другие защиты, например, ExeCryptor, который может даже разные участки шифровать разными ключами.

WBR, Александр Мова
Re[12]: Как защитить свою программу?
От: codera http://www.livejournal.com/~codera
Дата: 03.06.03 20:50
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Ключевая фраза "насколько я знаю":) Он (AsProtect) их предоставляет. Ктоме того, на AsProtecte свет клином не сошелся. Есть и другие защиты, например, ExeCryptor, который может даже разные участки шифровать разными ключами.


хорошо. дальнейшие аргументы буду приводить по ликвидации своей отсталости от жизни =)
Re[6]: Как защитить свою программу?
От: dyakovlev Украина www.prof-uis.com
Дата: 04.06.03 06:44
Оценка:
Здравствуйте, codera, Вы писали:

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


D>>>вроде есть такая фича, как ASProtectDie...

Kaa>>Наверно, название не верно. Google молчит, как партизан. Нет у него такого Сам прямо

C> c ASPackDie перепутали, надо думать.

C> а против аспра есть caspr, asap, anti aspr.

Ничего я не перепутал. Я специально нашел эту прогу у себя и вот привожу вырезку из ее хелпа:

Die, ASProtect, Die! — что это такое
Эта программа предназначена для удаления из реестра ключей, создаваемых программами,
защищенными при помощи ASProtect.
...
Данная программа позволяет легко выявить ключи, созданные ASProtect и окончательно деинсталлировать программу вручную (по крайней мере, с встреченными автором версиями ASProtect программа справилась успешно — при тестировании на множестве различных утилит, защищенных ASProtect, лишние ключи реестра были успешно выявлены во всех случаях).
...
если Вы удалите ключи, созданные ASProtect, защитный механизм будет считать, что программа только что установлена и не было произведено ни одного запуска, а потому начинает заново отсчитывать испытательный срок. Соответственно, Вы можете пользоваться программой и далее, до истечения этого нового испытательного срока.


Kaa>>сейчас внедряю ASProtect, потому так интересны способы, какими можно защиту обойти.


C> аспротект всегда было на порядок сложнее снять, чем прочие пакеры/протекторы. ибо хитро зашифрованная таблица импортов (с расшифровкой на лету), и anti-debug tricks, и т.д.

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

C> в любом случае, даже если "взломщику" не удастся ни распаковать защиту на автомате, ни сдампить/поправить, в запасе у него есть еще такой вариант, как loader. а лоадеру в общем случае никакого дела нет до того, в каком виде, за.. или распакованном, исполняемый файл хранится на диске.
Re: Как защитить свою программу?
От: shmakov Россия  
Дата: 04.06.03 08:03
Оценка:
Здравствуйте, dyakovlev, Вы писали:

D>Хочу продавать свою прогу. Но для этого надо сделать Trial-версию, добавить защиту от несанкционированного копирования (Привязку нужно делать к hardware), .... и т.д.

D>Подскажите пожалуста какие пакеты для этого можно использовать. Какие стоит а какие не стоит.

D>P.S. Слышал про ASProtect, но у меня возникли сложности с его использованием, не получается у меня внедрить его защиту в мой MFC-шный проект.


D>Вобщем что еще есть стоящего в этой области?



Armadillo (http://www.siliconrealms.com) — от туда качай.
Генератор ключей найдешь на (http://www.astalavista.com)
Re[4]: Как защитить свою программу?
От: Compressor  
Дата: 04.06.03 15:23
Оценка:
Здравствуйте, Akzhan, Вы писали:


A>Если продукт дорогой и серверный, то лучше использовать "железные" USB-ключи.


как показывает практика — достаточно сделать грамотную привязку к железу. и грамотно что бы саппорт реагировал на просьбы о новых ключах.
у нас сделано так:
1. генерится ключ src (содержимое зависит от железа)
2. отсылается нам
3. получаем ключ answer
4. высылаем клиенту

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


p.s. стоимость софта несколько десятков килобаксов за лицензию на 1 сервер.
... << RSDN@Home 1.0 beta 7a >>
Re[9]: Как защитить свою программу?
От: CyberDemon Россия  
Дата: 10.06.03 12:21
Оценка:
Здравствуйте, codera, Вы писали:

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



C>ну а кто помешает умельцу подправить эту самую дату в экзешнике или то место, где она проверяется? аспротект помешает начинающему умельцу. про loader'ы я писала ниже по треду.


C>кроме того, некоторые не смущаются постоянно менять дату перед запуском time-trial программы. и даже утилиты, помнится, были, которые это автоматически предлагали делать. =)


А кто мешает читать дату с системных файлов (реестр). Правда, это тоже не выход. На любую хитрую жжжж найдется....
Re[11]: Как защитить свою программу?
От: lozzy  
Дата: 16.06.03 09:34
Оценка:
Здравствуйте, codera, Вы писали:

C>в фидо я не смотрю уж давно,

C>но, судя по всему, авторский стеб продолжается,
C>а кейген к Stop! так и не сделали..

Лол, а может не сделали не от того, что сложно, а от того, что нафиг никому не нужно ? Типа как в анекдоте про неуловимого Джо
Re[7]: Как защитить свою программу?
От: VLN  
Дата: 30.06.03 13:47
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Добрый день,


AM>>>...Сейчас спрошу авторов AsProtect и ExeCryptor есть ли у них какие-нибудь скидки. О результатах сообщу здесь.


N>>Спасибо.


AM>Вот ответ от SoftComplete (HardKey и ExeCryptor)

AM>-----------------------------------------
AM>ситуация такая — для SWRUS действуют специальные цены (в скобках
AM>обычные цены для сравнения):
AM>HardKey Pro ..... $99 ($149)
AM>HardKey Lite .... $49 ($69)
AM>EXECryptor ...... $49 ($99)

А еще есть бесплатная версия HardKey Lite здесь
Бесплатная оттого, что поддерживает только защиту с "привязкой" к кошельку WebMoney (здесь)
Впрочем для того, чтобы начать продажи в ExUSSR этого вполне достаточно.
Re[8]: Как защитить свою программу?
От: Alex Mova  
Дата: 30.06.03 16:49
Оценка:
Здравствуйте, VLN, Вы писали:

VLN>А еще есть бесплатная версия HardKey Lite здесь

VLN>Бесплатная оттого, что поддерживает только защиту с "привязкой" к кошельку WebMoney (здесь)
Вообще то HardKey, что Лайт, что Про — это система верификации ключей, а не защита как таковая.

VLN>Впрочем для того, чтобы начать продажи в ExUSSR этого вполне достаточно.

Угу, а потом гадать, почему продажи не идут: потому что у пользователей нет ВебМаней или все-таки с программой что-то не так.

WBR, Александр Мова
Re[9]: Как защитить свою программу?
От: VLN  
Дата: 01.07.03 07:01
Оценка:
Здравствуйте, Alex Mova, Вы писали:

AM>Вообще то HardKey, что Лайт, что Про — это система верификации ключей, а не защита как таковая.

Совершенно верно. Для криптования ASProtect или ExeCryptor в руки — и вперед!
Лично мне нравится то, что HardKey работает с "короткими" ключами.

VLN>>Впрочем для того, чтобы начать продажи в ExUSSR этого вполне достаточно.

AM>Угу, а потом гадать, почему продажи не идут: потому что у пользователей нет ВебМаней или все-таки с программой что-то не так.

Ну есть еще над чем гадать: а правильно ли программа продвигается.
А по поводу денег, ИМХО их у людей есть. Посмотри здесь


AM>WBR, Александр Мова
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.