Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

Защита продукта   Найти похожие ветки 

 
Timon   (2002-04-10 15:53) [0]

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


 
Mirovodin   (2002-04-10 20:24) [1]

Во первых хорошей 100% защиты и не будет. Почитай статейку в журнале Программист, там было описано несколько способов защит.
А вопрос действительно не в тему :)


 
Mystic   (2002-04-10 22:52) [2]

Напиши одну из DLL на VB с включенной опцией P-code (защита от отладки).


 
Alex Y   (2002-04-12 08:21) [3]

2 Mirovodin
А что это за журнал? Какой номер и где его взять?


 
Mirovodin   (2002-04-12 09:14) [4]

Журнал Программист
http://www.programme.ru/

Какой номер, не помню, но из старых. Так что вряд ли удасться достать... Если только эта статья есть на сайте.


 
Smok_er   (2002-04-12 22:42) [5]

Рекомендую использовать ASProtect Алексея Солодовникова.
Программа стоит 99$, но для своих, в смысле русских - 49$.
Поверь, действительно удачное вложение средств!


 
Smok_er   (2002-04-12 22:43) [6]

Рекомендую использовать ASProtect Алексея Солодовникова.
Программа стоит 99$, но для своих, в смысле русских - 49$.
Поверь, действительно удачное вложение средств!
сайт - aspack.com


 
ION T   (2002-04-14 18:43) [7]

Мнда, а вы не пробовали искать распаковщики для него - за 50 баксов такое лучше не покупать. Поищите TeLock - ломается с таким же успехом, но бесплатный......


 
wed   (2002-04-15 16:34) [8]

Напиши собственный инсталлятор, где часть кода exe-шника зашифрована твоим серийным номером. При инсталляции ты распаковываешь программу. На машине создаешь кучу контрольных файлов и делаешь записи в реестр (можно тоже закодированные)
Недостатки
- нужно потрудиться
- нужно генерировать инсталлятор для каждого клиента

Думай - стоит ли программа этих трудов.
В принципе сам озабочен тем же. Изложенный выше способ реализован(чуть сложнее) в коммерческой системе за 4000$


 
Yaro   (2002-04-16 03:16) [9]

А вообще - самый классный способ - как сделали в ВиндоузХР... Поставьте - посмотрите...


 
Deus   (2002-04-16 12:36) [10]

2Yaro:
У меня стоит XP.
Защиты нет.
Где смотреть? :))))

Вообще, суть любой защиты не в том, чтобы сделать программу неломаемой - это в принципе невозможно(и на Speccy Alcatrazz ломали, и XP тоже сломали) - а сделать стоимость взлома дороже покупки лицензионного продукта.

BTW, кто-нибудь видел распаковщик к PECompact?


 
kaif   (2002-04-16 13:05) [11]

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


 
Барыга   (2002-04-16 13:06) [12]

Вопрос в тему. Как просить у юзеров деньги за регистрацию моей программы, которую они скачали с моего сайта? В сберкассу платить никто не пойдет с такой мелочью ($0.45), кредиток у нас нет. Что пусть наликом приносят со всей страны?


 
Deus   (2002-04-16 13:12) [13]

2Барыга:
0,45 - 13 рублёв? Даже не могу представить, что за такие деньги можно продавать..:)))
Я бы тебе посоветовал не мелочиться и сделать её фриваре...
А вообще-то, есть такие службы, как Shareg


 
Барыга   (2002-04-16 13:17) [14]

Дык я хочу оборотом задавить :)
Вон бабушки семечки по 2 рубля за стакан продают. А в день больше меня имеют. Или им тоже не мелочиться? Можно про Shareg поподробнее?


 
Deus   (2002-04-16 13:34) [15]

2Барыга:
Дык ты подумай: сколько народy семечки любят, и скольким нужна твоя прога? Ты бы хоть ссылочку на неё кинул...

Про ША!Рег - www.shareg.com


 
DenKop   (2002-04-16 15:00) [16]

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

to Timon>> Сейчас пишу курсовик на эту тему и нашёл много полезной инфы в бескрайних просторах Рунета. Вот ссылка, посмотри её, там много полезной информации:
http://public.kubsu.ru/~usr02716/protect/pr1.htm
Моя идея такова:
1)В DLL оформил функцию проверяющую дату. Дата храниться в зашифрованном виде (RSA) в самой DLL. Т.е. при первом запуске программы записываю в конец DLL зашифрованную дату запуска. Сравнение производил с помощью функции CompareMem, чтобы избавиться от условного оператора, который очень уязвим под отладчиком.
2)Проверка контрольных точек по таймеру в ходе выполнения программы.
3)Напомню, что функции свои промежуточные результаты хранят в стеке, а при работе отладчика, последние ячейки в которые была произведена запись(или первые в очереди) затираются. Вот это и является зацепкой за то, что твою программу шуршат отладчиком, но для этого необходимо использовать интегрированный Asm.
4)Ну и совсем топорный метод- проверка наличия окна отладчика по его названию (FindWindow,GetWindowText). Для этого прдварительно создал список названий самых популярных отладчиков. Если обнаруженно такое окно, то программа шуточно посылает взломщика подальше и завершает работу(желательно Halt).
5)Остальное, на что у меня не хватило ни сил, ни жедания смотри по ссылке.

Ну вот и всё. От рядовых взломщиков защита довольно приличная, а проффесиональный хакер не думаю, что полезет ломать твою программу.
Good Luck!



 
wed   (2002-04-16 15:41) [17]

Нет, у меня упор делается на желание заказчика приобрести официальную копию. Т.е. нормально ее установить и знать о надежности ее работы. "Куча информации" по винту - это защита от юзеров - чтобы тупо не содрали ее с компа.
Но с критикой согласен.
Здесь условие: такой метод эффективен для специализированной проги (не массового использования). Просто сам пользователь заинтересован в отсутствии такой программы у конкурентов
Спасибо за линк.


 
ION T   (2002-04-16 16:45) [18]

DenKop © (16.04.02 15:00)
CompareMem тоже сравнивает.....просто взломщику на одну функцию ниже рыть придется:) Хальт, кстати, очень даже плохой метод вылет - в екзешнике находится сигнатурп оПасовского хальта (она всегда одинаковая) и всё это дело забивается ноп-ами или переходом на правильную ветку:)

Я предпочитаю пользователю, вместо серийника, высылать дллку с ключом которым расшифровываются данные приложения. Для взлома придётся нарыть хоть одну "правильную" длл......


 
DenKop   (2002-04-16 17:32) [19]

to ION T ©>>
Хальт, кстати, очень даже плохой метод вылет
Не подскажешь ли более надёжный способ завершения программы.

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

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


 
ION T   (2002-04-16 21:46) [20]

Ну, например посылка главному окну WM_CLOSE, хотя это тоже можно по маске найти......

Отлаживаю до посинения:) В той-же дллке находится какая-то ключевая процедура ("Сохранить" или ещё чего) которой нет в самом екзе (т.е. в самом приложении её нет, что и является ограничением демо). Для того, чтоб саму длл не копировали вместе с прогой, при регистрации юзер посылает блок данных о железе компа (блок данных генерируется самим приложением), затем на сервере (РНР скриптом или ISAPI модулем) с помощью полученных данных шифруется эта функция в длл (её начало и конец узнаются с дебаггером Дельфи в окне CPU View, также желательно для длл выключить оптимизацию шоб её не разделило), и эта "подшифрованная" длл высылается юзеру. Когда длл подгружается на компе, она расшифровывает функцию в памяти (адреса находятся добавляя базовое смещение или по сигнатуре) с помощью того-же блока данных. В общем, единственным методом взлома остается трассировка алгоритма расшифровки и угадывание соответсвующего алгоритма шифрования (поэтому желательно взять самый массивный из доступных или писать свой). Пойти на такое, желание не у каждого будет;) Программировать такое, конечно, занятие не из самых легких, но здесь время взлома будет большим времени разработки (что и требуется от любой защиты:) Главное НИГДЕ и НИЧЕГО не сравнивать.......


 
DenKop   (2002-04-16 22:00) [21]

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

И ещё один нюанс думаю стоит повторить: как быть с испытанием юзером твоего продукта. Здесь должно быть либо колличество запусков, либо дата и без сравнения тут никак не обойтись. Как решить эту проблему?


 
ION T   (2002-04-16 22:52) [22]

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

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


 
DenKop   (2002-04-17 14:37) [23]

to ION T © >> (2) Согласен, но по моему это уже такие дебри, о которых, IMHO, стоит задумываться при написании групповых и дорогостоящих проектов. Хотя насчёт шифрования DLL идея очень даже ничего.

to Timon>> Ну вот ипоявилась тебе информация для размышления, т.е. как защитить свой продукт.
Выбирай. Good luck!


 
wed   (2002-04-17 17:58) [24]

Согласен, dll - это идея
удачи



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.008 c
1-73279
kserg@ukr.net
2002-05-11 13:17
2002.05.23
TSringGrid - как сделать контроль вводимого в ячейку значения?


3-73029
DenNNis
2002-04-26 13:06
2002.05.23
Подскажите, плиз!


3-73089
@andrew
2002-04-26 16:29
2002.05.23
Привет Всем!!! Можно ли заблокировать работу триггеров в SQL?


7-73419
Aleksey_K
2002-02-25 14:45
2002.05.23
UPS


4-73441
AlexSK
2002-03-20 12:38
2002.05.23
выгрузка DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский