Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

 

  Вопрос: Прога пишет в себя. Добавлено: 03.08.04 03:49  

Автор вопроса:  CyRax  | Web-сайт: basicproduction.nm.ru | ICQ: 204447456 

Ответить

  Ответы Всего ответов: 77  

Номер ответа: 16
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #16
Добавлено: 08.08.04 13:44

Запись в экзешник защитить прогу вряд ли сможет (имхо). Фактически ты сам создаёшь патчер, так какая защита из этого. Ещё зависит от того, что именно писать надо. Если прыг изменить, так это фигня, тогда уж надо кусок кода вырезать и патчером вставлять, тогда будет засада, а если этот код ещё криптом RC4 зашифровать, да ключик сиволов эдак 20, тогда токо брутфорс. Но кто похакает 100% в инет всё сольёт чтоб насолить :(, а то и просто купит и в сообщит всем пасс или патчером поделится. По-моему есть гораздо более хорошие способы защиты (отношение сложность создания/сложность взлома), так что париться с этим я бы не стал.

Ответить

Номер ответа: 17
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #17 Добавлено: 08.08.04 14:13
Я тебе мылом уже ответил

Ответить

Номер ответа: 18
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #18 Добавлено: 08.08.04 14:14
т.е //13 это дополнение к //17

Ответить

Номер ответа: 19
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #19
Добавлено: 08.08.04 18:16
Ra$cal,
 И какой из этих способов ты можешь предложить? Код покажи. А то опять одна вода получается.

Ответить

Номер ответа: 20
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #20
Добавлено: 08.08.04 21:49
Подожди до завтра, я уже почти доделал... Может и сёдня на мыло закину.

Ответить

Номер ответа: 21
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #21
Добавлено: 08.08.04 21:49
Подожди до завтра, я уже почти доделал... Может и сёдня на мыло закину.

Ответить

Номер ответа: 22
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #22
Добавлено: 09.08.04 00:23
Это не запись проги саму в себя, но очень сильный способ обломать кракера. Хотя не знаю, почему тебе так охота изменять код программы, ну вобщем без паса 200% прогу не взломать...

Ответить

Номер ответа: 23
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #23
Добавлено: 09.08.04 00:26
 Пока Ra$cal пишет может кто ещё выскажет соображения по поводу патчей. Я когда писал честного говоря не подумал о взломах патчами.
 Нужно учитывать все варианты. Раз уж тема патчей затронута (цель не важна - благородна она или злодейская), то давайте уже доведём её до конца.

Ответить

Номер ответа: 24
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #24
Добавлено: 09.08.04 00:28
 Очень интересно. Тем более что обламать крякера довольно таки сложно. А каков чём принцип?

Ответить

Номер ответа: 25
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #25
Добавлено: 09.08.04 00:57

Проверь почту

Ответить

Номер ответа: 26
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #26
Добавлено: 09.08.04 01:05
Дык тебе для защиты... Спешу обламать: защитить твою программу от изменений достаточно просто: либо поместить на read-only устройстве, либо каждый раз возвращать прежнее состояние. Батник я привел в качестве proof-of-concept. Как вариант можно предложить DLL, которая сама себя в памяти меняет, а потом шифрует, упаковывает и пишет из памяти в другой файл. А ехешник, вызывающий эту DLL, проверяет, какое из этих двух названий есть, ту и загружает... Но это тоже скорее proof-of-concept...

Ответить

Номер ответа: 27
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #27
Добавлено: 09.08.04 01:17

Обламать сложно, но можно. Это я тебе как крякер заявляю. После поломки нескольких десятков прог можно понять как их стоит защищать. Вот кратенький список:

1) НИКОГДА нельзя выдавать сообщения о правильности или неправильности пароля.

String Reference взлом. Самый простой способ. Патч за 2 минуты (если не использованы другие
способы защиты(например №14 и №6)).
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2) НИКОГДА не хранить пароль открытым текстом (хотя бы в HEX форме).

Подглядеть в памяти правильный более чем элементарно.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3) НИКОГДА не проверять пароль сразу после ввода.

Лишний геморрой непрошенному исследователю.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4) ВСЕГДА стирать правильный пароль после сравнения.

Порывшись в памяти рядом с ввёднным пасом можно найти правильный.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5) ЖЕЛАТЕЛЬНО периодически во время работы программы проверять пароль.

На тот случай, если было изменено значение флага.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6) ВСЕГДА делать несколько подпрограмм проверки пароля.

Если процедура одна её можно пропатчить и программа
будет уверена, что она зарегестрирована.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7) ВСЕГДА сравнивать пароль посимвольно.

См. пункт 2
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8) ВСЕГДА разбивать процесс генерации пароля на несколько подпрограмм. Можно сравнивать
результаты отделных подпрограмм и если что не продолжать проверку. Но сравнивать надо
какие-нибудь незначительные параметры (то есть нельзя помещать ВСЮ проверку в эти процедуры,
они служат только для генерации, процедуры проверки должны быть отдельно).

См. пункт 3
************************************************************************************************

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

См. пункт 3.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10) ВСЕГДА проверять длину пароля, контрольную сумму пароля, определённые симолы, причём все
эти процедуры должны быть ОЧЕНЬ глубоко зарыты.

См. пункт 3. Причём чем глубже зарыты - тем сильнее чувства у кракера :)
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11) Не помешает сделать на сайте чёрный и белый лист с именами пользователей, и при не
обнаружении в белом списке портить код программы (только опять же с задержкой) (адрес листов
есесно должен быть зашифрован).

Если кто-то купил программу - добавляем имя в белый лист, а потом даём ему пароль. Действенный
метод, жаль, что при использовании фаервола не работает.
************************************************************************************************

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

Эффективный способ защиты от распространения ключиков от купленных программ.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13) Очень желательно введённый пароль и правильный пароль шифровать перед проверкой.

Даже если кракер увидит сравнение строк ему придётся разбираться с алгоритмом шифровки.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14) ОБЯЗАТЕЛЬНО делать несколько переменных(порядка 10 штук) и хранить там информацию,
зарегестирована ли программа. Хранить разными способами: True или False, набор определённых
символов, кусок пароля... Периодически проверять, и если вдруг хотя бы одна переменная не
подтвержает регистрацию вызывать ошибку в программе. Если ВСЕ пишут, что регистрации нет, валить
прогу не стоит :)

Это хорошая защита от патча.
************************************************************************************************

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15) НИКОГДА не используйте любые пакеры/протекторы. Защищать они может и умеют(протекторы - да,
пакеры - полный отстой, никаких шансов), но программы работают гораздо медленне и снижается
производительность системы в целом.

Они усложняют взлом, но не настолько, насколько хотелось бы.

Ответить

Номер ответа: 28
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #28
Добавлено: 09.08.04 01:19
Обломать - невозможгно... можно-лишь максимально приблизить затраты на взлом цене программы...
Даже тем способом что придлагает Rascal, 100% никто дать не может, т.к. патчь можно всегда выложить на всеобщее обозрение...

Ответить

Номер ответа: 29
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #29
Добавлено: 09.08.04 01:20

Только не надо мне говорить, что вы всё это итак знаете, есть ещё и начинающие...

Ответить

Номер ответа: 30
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #30
Добавлено: 09.08.04 01:25
да, вот еще один вариант, снять образ файла до и после регистрации, создать свой собственный патч и выложить его в сеть... все проще некуда...
В итоге на одной лицензии, как обычно, будет по одной тысяче человек %)

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам