Re[2]: защита программ от взлома
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 02.11.01 10:03
Оценка: 15 (3)
Здравствуйте OlegO, Вы писали:

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


K>>Привет, всем. Посоветуйте какой-нить ресурс про сабж? Или жожет кто расскажет основные методы защиты?


OO>Ну для начала я думаю стоит почитать как ломают :)


OO>http://education.kulichki.net/comp/hack/


+

http://www.computerra.ru/offline/1998/240/1201/
http://www.ssl.stu.neva.ru/psw/publications.html
http://kamyshov.saren.ru/doc/hackb/HACKBOOK/logic.htm
http://www.os2.spb.ru/rdm2/articles/ac.html
http://public.kubsu.ru/~usr02716/protect/pr1.htm
http://z-ol.chat.ru/protect1.htm
Re[7]: защита программ от взлома
От: IT Россия linq2db.com
Дата: 13.11.01 16:00
Оценка: 6 (1)
Здравствуйте Аноним, Вы писали:

IT>> В результате, все эти эксперименты советских учёных были заменены простенькой защитой от дурака, написанной за пару часов.


А>А вот здесь нельзя ли по подробней.... пожалуйста.... :)


О чём поподробнее? О защите от дурака? :)
Да тут в общем-то ничего такого. В качестве ключа для локальной защиты вполне подойдёт серийный номер логического диска 'C', тот который возвращается функцией GetVolumeInformation:

DWORD dwSN;
GetVolumeInformation("C:\\",NULL,0,&dwSN,NULL,NULL,NULL,0);

У этого способа только один недостаток, серийный номер будет утерян, если диск будет переформатирован. Хотя есть ещё один, это не будет работать, если машина сетевая и вообще не имеет диска C :) Но это уже другой случай.

Для привязки программы в сети в качестве ключа можно использовать имя компьютера, на котором установлена программа или имя общего файла данных. Работает железно для любых видов сетей и вряд ли вменяемый администратор будет менять имя сервера ради того, чтобы поставить туда стыреннай софт. Получить имя сервера можно либо явно указывая UNC имя файла с разделяемымы данными '\\SERVER\PATH\file.dat', либо, если сетевой ресурс ассоциирован с локальным диском, можно воспользоваться функцией WNetGetConnection, чтобы получить соответсвующее диску UNC имя. Единственное, надо помнить, что на лысой 95'й винде, если сетевая поддержка не установлена, то библиотека mpr.dll тоже не установлена и программа не будет загружаться, причём молча, поэтому лучше вызывать эту функцию через LoadLibrary/GetProcAddress. Еще была проблема в сетях Novell NetWare, там UNC имя ресурса может представлятся в совершенно дебильном формате и по разному в разных конфигурациях W9x/NT, например

\\SERNAME\SYS
\\$NDS\.SERVNAME_SYS.SERVNAME
\\ROOT\.SERVNAME_SYS.SERVNAME
$NDS\.0=SERVNAME

Это можно обойти либо явно указав полный UNC-путь, либо я пытался изобразить что-то типа:

CString ReadServerName (cconst char *path)
{
    char buf[MAX_PATH];

    strcpy(buf,path+2);
    strupr(buf);

    if (strrchr(buf,'.') == 0) {
      char *end = strchr(buf,'\\');
      if (end) *end = 0;
      return buf;
    } else {
      char *beg = strchr(buf,'\\');
      if (beg == 0) return "";

      beg++;
      if (*beg == '.') beg++;

      char *end = strchr(buf,'_');
      if (end) {
        *end = 0;
        return beg;
      }
    }
    return "";
}

Но и это не всегда работает в сложных конфигурациях NetWare.

Ну, а далее полученный ключ можно пошифровать какими-нибудь простенькими алгоритмами и спрятать подальше. Крутой ломак всё равно найдёт, а для большинства народа достаточно просто наличия хоть какого-нибудь барьера.
Если нам не помогут, то мы тоже никого не пощадим.
защита программ от взлома
От: kaziboba  
Дата: 02.11.01 08:34
Оценка:
Привет, всем. Посоветуйте какой-нить ресурс про сабж? Или жожет кто расскажет основные методы защиты?
Re: защита программ от взлома
От: OlegO Россия http://www.mediachase.ru
Дата: 02.11.01 09:09
Оценка:
Здравствуйте kaziboba, Вы писали:

K>Привет, всем. Посоветуйте какой-нить ресурс про сабж? Или жожет кто расскажет основные методы защиты?


Ну для начала я думаю стоит почитать как ломают :)

http://education.kulichki.net/comp/hack/
С уважением, OlegO.
Re: защита программ от взлома
От: Scorpion  
Дата: 02.11.01 10:20
Оценка:
Здравствуйте kaziboba, Вы писали:

K>Привет, всем. Посоветуйте какой-нить ресурс про сабж? Или жожет кто расскажет основные методы защиты?


Могу посоветовать следующую технологию защиты, использующую Crypto API, рашающую проблему генераторов ключей:
— на этапе разработки генерируются 2 ключа — открытый (public) и закрытый (private). Это действие можно также производить при выпуске новой версии программы;
— открытый ключ внедряется в программу;
— при регистрации, программа собирает компьютерно-зависимую информацию, и генерирует из неё регистрационную информацию, которая отсылается производителю программного обеспечения;
— закрытая программа регистрации пользователей шифрует с помощью закрытого ключа переданную ей информацию и возвращает её пользователю;
— пользователь передаёт полученую информацию программе в качестве регистрационного ключа;
— программа рачшифровывает данный ключ и сверяет его с отосланой информацией;
— если информация идентична, то программа успешно регистрируется.
Re[2]: защита программ от взлома
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 02.11.01 10:40
Оценка:
Здравствуйте Scorpion, Вы писали:

S> — при регистрации, программа собирает компьютерно-зависимую информацию, и генерирует из неё регистрационную информацию, которая отсылается производителю программного обеспечения;


О! Только привязка к компу сильно напрягает и юзера и производителя (будут тебе звонить раз в месяц и говорить что поменяли то диск то проц,то сетевуху, то на другую машину переехали). Хорошо когда можно привязаться к уникальной железочке, являющейся неотъемлимой частью продукта, а если железочка еще и часть вычислений программы на себя берет, вообще ляпота.

Без железочки же затраты на разработку защиты скорее всего превысят стоимость программы :(
Re: защита программ от взлома
От: Андрей Россия  
Дата: 02.11.01 11:25
Оценка:
Здравствуйте kaziboba, Вы писали:

K>Привет, всем. Посоветуйте какой-нить ресурс про сабж? Или жожет кто расскажет основные методы защиты?


Лучше всего — с помощью электронных ключей. См. сайт http://www.guardant.ru — там много чего про это есть.
Re[3]: защита программ от взлома
От: ZORK Россия www.zorkaltsev.com
Дата: 03.11.01 15:57
Оценка:
Здравствуйте Odi$$ey, Вы писали:

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

S>> — при регистрации, программа собирает компьютерно-зависимую информацию, и генерирует из неё регистрационную информацию, которая отсылается производителю программного обеспечения;


O$>О! Только привязка к компу сильно напрягает и юзера и производителя (будут тебе звонить раз в месяц и говорить что поменяли то диск то проц,то сетевуху, то на другую машину переехали). Хорошо когда можно привязаться к уникальной железочке, являющейся неотъемлимой частью продукта, а если железочка еще и часть вычислений программы на себя берет, вообще ляпота.

O$>Без железочки же затраты на разработку защиты скорее всего превысят стоимость программы :(

Да и ломается все равное просто. Если пользовательский ключь для конкретной программы известен, до дальше надо просто дебагером ее в памяти поймать, и все станет понятно. Так что гемороя много, а результат такой же как EULA (End User License Agreement) Microsoft'а

-Zork
Думать надо ...головой :)
Re[4]: защита программ от взлома
От: adontz Грузия http://adontz.wordpress.com/
Дата: 03.11.01 17:37
Оценка:
Здравствуйте ZORK, Вы писали:

ZORK>Да и ломается все равное просто. Если пользовательский ключь для конкретной программы известен, до дальше надо просто дебагером ее в памяти поймать, и все станет понятно. Так что гемороя много, а результат такой же как EULA (End User License Agreement) Microsoft'а


Вот это правильно !!! Я не знаю как там у вас (в Майами кажется, Да ?), а вот у нас (в Тбилиси) абсолютно официально (то есть за это никого не сажают и не штрафуют и даже с разборкой никто не лезет) можно по $2.5-$3.5 купить любой компакт. И поверьте мне — СЛОМАЛИ ВСЁ!
Потому в экстремальных условиях есть только два варианта
1) писать очень специфическую программу, которую не станут ломать потому что лом не окупится.
2) писать очень отстойную программу, которую не станут ломать потому что лом не окупится.
3) писать очень крутым людям которые сами кому хочешь что хочешь сломают.

Второй способ самый надёжный.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: защита программ от взлома
От: TepMuHyc  
Дата: 11.11.01 20:49
Оценка:
Здравствуйте kaziboba, Вы писали:

K>Привет, всем. Посоветуйте какой-нить ресурс про сабж?

K>Или жожет кто расскажет основные методы защиты?
Предыдущие оратори имхо деог говорят — почитай про то как ломают
и постарайся чтобы твоя защита _так_ не ломалась.

А теперь пару советов:
— В код программы введи несколько независимых блоков проверки
регистрености. Постарайся их написать применяя разные алгоритмы.
— Если код проверки установил факт взлома, НИКОГДА И НИ ЗА ЧТО
не выводи окошко типа "Караул, программа поломана". Такие окошки —
божий подарок для крякера — отследить и прибить его — раз плюнуть.
Лучше установи какой-нибудь флаг или при помощи PostMessage()
пошли какое-нибудь сообщение главному окну программы которое и будет
выводить аварийное сообщение.
А лучше всего, вообще не выводить никаких сообщений, а потихоньку
портить данные своей программы. Тогда поломанная версия просто станет падать
в самый неожиданный момент. И даже у самого настырного кракера мозги
закипят отлавливать что и где не так...
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
Re[5]: защита программ от взлома
От: IT Россия linq2db.com
Дата: 11.11.01 21:38
Оценка:
Здравствуйте adontz, Вы писали:

A>3) писать очень крутым людям которые сами кому хочешь что хочешь сломают.


Не факт, что напишут, скорее всего не напишут, ломать не строить.
Было дело, поручали крутым ламакам сделать защиту, облажались парни. Залезли в нулевые кольцы, VMD всякие, шифр исполняемого кода... В результате за пол года что-то полуработающее для W95, до NT и сетевой поддержки дело не дошло. В результате, все эти эксперименты советских учёных были заменены простенькой защитой от дурака, написанной за пару часов. Работает до сих пор и никто не ломает, потому как нет смысла, но и не тырят. А если начнут ломать, то во первых, значит программа имеет успех и это доже на пользу в целях рекламы, во-вторых, вот теперь самое время заняться защитой всерьёз.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: защита программ от взлома
От: Аноним  
Дата: 13.11.01 11:13
Оценка:
Здравствуйте IT, Вы писали:


IT>Не факт, что напишут, скорее всего не напишут, ломать не строить.

IT>Было дело, поручали крутым ламакам сделать защиту, облажались парни. Залезли в нулевые кольцы, VMD всякие, шифр исполняемого кода... В результате за пол года что-то полуработающее для W95, до NT и сетевой поддержки дело не дошло.
IT> В результате, все эти эксперименты советских учёных были заменены простенькой защитой от дурака,
IT> написанной за пару часов.

А вот здесь нельзя ли по подробней.... пожалуйста.... :)


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