IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Идеальная защита программы (https://www.imho.ws/showthread.php?t=27998)

perepelkin 26.04.2003 22:37

Идеальная защита программы
 
Народ, а кто как себе представляет subj?

RaZEr 26.04.2003 22:41

Разработчики всего мира уже второе десятилетие задаются этим вопросом ...

perepelkin 26.04.2003 22:52

Цитата:

Как писал RaZEr
Разработчики всего мира уже второе десятилетие задаются этим вопросом ...
так было бы интересно услышать мнение взломщиков

denver 26.04.2003 23:04

вместо серийников смарт карта например, хотя опять же можно и пропатчить :-/
а патч имхо неизбежен, можно только запутать взломщика переходами, но когда нибудь клубок распутается :(

perepelkin 27.04.2003 09:15

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

Madness 27.04.2003 12:31

perepelkin
Цитата:

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

Цитата:

А при покупках построже проверять, можно звонить по телефону пользователю.
Поможет только от кардеров. Практически всегда можно купить на свои(fi) деньги и отвязать от ключа.

>Идеальная защита программы
Против кракеров помогает только достаточно порезанная демка.

maskman 27.04.2003 12:40

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

perepelkin 27.04.2003 12:58

Цитата:

Как писал Madness
[B]perepelkin

Если информации немного или она достаточно очевидна по ходу кода, то можно подобрать. Как вариант идет криптование, на достаточном куске кода, восстановить(написать код заново) будет сложно(при условии что нет правильного ключа(возможно забаненного)).


Поможет только от кардеров. Практически всегда можно купить на свои(fi) деньги и отвязать от ключа.
Ну хоть какая-то польза будет.:)

Мне кажется можно запутать следы, поверки контрольных сумм перекрестные, проверки важных кусков кода и главное не выводить ошибок сразу.

А кстати ты ломал Lock Folder XP?
А точно все сломал?
Там ведь и в драйверах защита была, и она активизируется не сразу.

Madness 27.04.2003 13:15

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

perepelkin
>А кстати ты ломал Lock Folder XP?
Так, глянул посмотреть чего там такое :)

>Там ведь и в драйверах защита была, и она активизируется не сразу.
:)
Драйвера не смотрел, занят был, щас гляну :]
ЗЫ. Подход пральный, кхе.

maskman 27.04.2003 13:23

Madness
Вот как раз идет проверка соответствия информации зашитой в ключе и находящейся в файле лицензии. Если у тебя чего то одного не хватает прога трудится в демо-режиме.

perepelkin 27.04.2003 14:04

Цитата:

Как писал Madness
maskman
>Проверка наличие ключа и лицензии...
Проверка наличия патчится, другое дело когда в ключе зашита некая функция, которая возвращает значение, используемое прогой.

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

perepelkin 27.04.2003 14:07

Цитата:

Как писал maskman
Madness
Вот как раз идет проверка соответствия информации зашитой в ключе и находящейся в файле лицензии. Если у тебя чего то одного не хватает прога трудится в демо-режиме.

В драйвере проверка была примитивная. На этот раз я придумал кое-что покруче, так что ждите:)

maskman 27.04.2003 14:28

perepelkin
Цитата:

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

Madness 27.04.2003 14:34

maskman
>Вот как раз идет проверка соответствия информации зашитой в ключе и находящейся в файле лицензии.
Праверило, а дальше? jnz?

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

>В драйвере проверка была примитивная.
Это который в LF? Типа проверка 0Ch байта из pData на = 34h ("4")? ;]

perepelkin 27.04.2003 15:26

Цитата:

>В драйвере проверка была примитивная.
Это который в LF? Типа проверка 0Ch байта из pData на = 34h ("4")? ;] [/B]
не совсем pdata, но это уже не важно.:)

perepelkin 27.04.2003 15:30

Цитата:

Как писал maskman
perepelkin

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

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

Nitrogen 01.05.2003 22:48

Цитата:

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

как сказал маднес - только демка и причем сильно покоцаная..

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

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

p.s для меня взлом своеборазная игра с разработчиком защиты - получилось сделать кг - я победил.. не удалось - победил автор.. но опять же разработчику достаточно просто сделать такую защиту которую невозможно закг (bcrypt, rar, etc..), приложив голову и все граммотно организовав..

perepelkin 02.05.2003 15:27

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

Madness 04.05.2003 19:27

Цитата:

Вадим Дорофеев:
...кряки меня волнуют в гораздо меньшей
степени, нежели украденные серийные номера. Вот серийники я отслеживаю
достаточно жёстко и блокирую по мере возможности быстро.
Что касается кряков - да ради бога. Я предпочитаю заниматься самой
программой, а не встраиванием кучи кода для борьбы с крякерами.
Вот так вот.

Есть еще такой подход как персональный билд, эта шняга удачно применяется вместе с демоверсией у datarescue и их IDA. Тут важно чтоб кто будет убирать отметки в коде, нашел все, иначе придется опять покупать...

vvetrov 19.05.2003 05:24

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

При этом сломать прогу можно будет _только_ выдрав расшифрованный код _ВСЕХ_ функций (ну и main вне зависимости от языка, если это конечно не VB ;-) что может быть ВЕСЬМА геморройно.

perepelkin 19.05.2003 11:41

Цитата:

ключ выполняет декриптование по ассиметричному алгоритму
а как это? как расшифровать _ассиметричный_ алгоритм?

В любом случае можно ключ этот купить и все сломать.

vvetrov 20.05.2003 11:31

Почитай литературу по ассиметричным алгоритмам.
Опять же, я имел в виду ситуацию, когда код прграммы декриптуется внутри самой железки. И ключ шифрования тоже находится внутри этой же железки.
Соответственно ну купил ты железку. Но чтобы её сэмулировать тебе нужно знать : ключ и алгоритм шифрования. Ладно, допустим алгоритм открытый. Но ключ то ты оттуда не вытащишь...
Ещё раз повторю - единственный способ "всё сломать" это прогнать все закриптованные функции через ключ чтобы их расшифровать. И дальше слепить исполняемый код заново. Но это не так легко.

Valery Vetrov

Anton "InVooDoo" Anisimov 11.07.2003 10:36

Не плохой вариант защиты, заключается в том что один кусок серийника проверяется каждый день, а второй кусок через 5-10 дней, когда крякер сделает свой дело, а это быстрее всего 2-3 дня, если конечно сильно уже не изощрятся с защитой, то он и может вовсе пропустить такой вариант. То люди скачав генератор серийников, очень растроятся через 5-10 дней, когда ему программа скажет, что извини брат, денежку то платить надо. :)

Можно еще закриптовать ASProtect'ом, правда дорого 99 у.е. но действено, сжимет и криптует екзешник, защищает от дебагеров, проверяет црц и еще много всяких возможностей. Тогда есть возможность, что у крякеров будет много проблем, и взлом программы в отношении время/выгода = не выгодно. Тогда они не будет ее ломать. :)

Madness 11.07.2003 17:45

Anton "InVooDoo" Anisimov
> то он и может вовсе пропустить такой вариант.
И здесь не дураки сидят :P

>... ASProtect ... Тогда есть возможность, что у крякеров будет много проблем
Правда? Товарищ perepelkin, кажись, аспр и использовал, после чего и появился данный топик (далее следует смайлик из ответа выше).

Anton "InVooDoo" Anisimov 12.07.2003 09:46

Madness
А я вовсе и не говорил, что тут дураки сидят, а то что есть возможность такой защиты, если хорошо продумать и не дать крякеру возможности что-то заподозрить, умно это сделать, то тогда на 80% можно спастись от полного кряка на не очень большое но и не очень маленькое время. Согласись с этим.

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

Сколько лет уже Майкрасофты себя защищают и у них ничего не получается.

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

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

Некоторые люди, чтобы не покупать Винду, переходят на Дос или Линукс. Задумайся над этим.

maskman 12.07.2003 12:56

Можно я тут немного вставлю своего мнения.

Некоторые проги, при использовании которых приносят больше денег (пользы) тем кто их юзает.
Примеры: ПО установленное на POS-терминалах в супермаркетах и подобные вещи.
И подобные вещи выгоднее купить чем пользоваться сломанными. Ведь есть же вероятность того что поломаный exe-шник приведет мало того что к смерти проги, так еще и к убиству используемой базы, а это ой как не хорошо.

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

Anton "InVooDoo" Anisimov 12.07.2003 14:55

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

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

Madness 13.07.2003 21:08

maskman
>И еще вместе с лицензиями, ключами обычно разаработчики дают и квалифицированную поддержку, об этом тоже не надо забывать.
С полмесяца назад тот же ms прекратил поддержку winnt4...

Anton "InVooDoo" Anisimov
>Согласись с этим.
Уговорил :)

Anton "InVooDoo" Anisimov 14.07.2003 09:27

Madness
Это ты тоже правильно подметил, то что некоторые продукты со временем стают не поддерживаимими. Мне кажется, что просто пора уже переходит на 2000 или ИксПи. Ведь тоже подумай, на сколько сложно постояно поддерживать большое количество продуктов. Надо же когда-то от них отказыватся.
Это же еще одна политика маркетинга, ведь если ты перестанешь ее поддерживать, в данном случае ВинНТ, то тогда народу придется покупать себе новую Оску.

maskman 14.07.2003 16:23

Madness
Цитата:

С полмесяца назад тот же ms прекратил поддержку winnt4...
Это был маркетинговый ход. А поддерживать они иогли бы и до скончания веков. =)))

Anton "InVooDoo" Anisimov 14.07.2003 17:40

maskman
А тогда же с чего Билу зарплату платить, если 2000 винду покупать не будут. :) :) :)

Madness 14.07.2003 19:07

Anton "InVooDoo" Anisimov
> Мне кажется, что просто пора уже переходит на 2000 или ИксПи. Ведь тоже подумай, на сколько сложно постояно поддерживать большое количество продуктов. Надо же когда-то от них отказыватся.
А деньги то за поддержку уплОчены.

Anton "InVooDoo" Anisimov 15.07.2003 09:20

Madness
Скажем так, эти деньги уже ушли, тоесть были использованы на поддержку.
Деньги кончились и поддержка кончилась. :)


Часовой пояс GMT +4, время: 17:24.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.