Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ВВОД ПАРОЛЯ СКРЫТ ЗВЕЗДОЧКАМИ 
:(
    Опции темы
cardinal
Дата 24.7.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(bom @ 24.7.2005, 13:45)
Как с этим бороться

Первая возможность это конечно отсылка твоих данных через интернет. Типа такой-то пользуется прогой. Ты смотришь есть у него лицензия или нет у себя в бд. Но это уже всем известно и поэтому крэкнутые вещи ставят на компы не подключенные к инету.
Вторая возможность это сделать кучу проверок (не только в начале проги, но и в середине парочку). Но и их все вычислить можно, но займет уже больше времени.
Третья возможность сделать такой штраф, что риск того не будет стоить. Дешевле будет купить лицензионное ПО, чем наткнуться на проверку (которая должна быть нормальным явлением) и заплатить огромный по сравнению со стоимостью лицензии штрафом.
Цитата(bom @ 24.7.2005, 13:45)
возможно надо шифровать сам последующий после проверки код программы

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


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
bom
Дата 24.7.2005, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Цитата
отсылка твоих данных через интернет....такой-то пользуется прогой
Другими словами - такой то пользуется взломанной версией твоей проги. Особой радости тебе это известие не принесет, если оно еще продерется через кордоны файеволов, коими сейчас многие пользуются smile

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

Цитата
сделать такой штраф, что риск того не будет стоить
Это - к законодателям smile

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

Если защищаемая программа делается для узкого круга пользователей, которым в последствии понадобится поддержа, то способы защит, приведенных cardinalом , в самый раз - не дорого и сердито, но для массовых программ, Имхо, этого явно недостаточно, иначе мы бы уже давно не пользовались взломанными Винрарами, Нерами, и прочими TheBat-ами.

Сори за нестандартные цитаты, у меня Быстрая цитата не фурычит

PM MAIL   Вверх
Voldemar2004
Дата 24.7.2005, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(cardinal @ 24.7.2005, 16:31)
Можно воспользоваться прогой сжатия .exe файлов,
есть соответствующие программы для распаковки таких exe-шников, причем есть готовые проги для определения - каким упаковщиком сжат файл (что-то наподобие ProtectionID).
Цитата(cardinal @ 24.7.2005, 16:31)
которая очень сильно затрудняет процесс крэканья.
Процесс-то может и затруднит, но не сведет его к нулю.

Цитата(bom @ 24.7.2005, 15:45)
Хранить незащищенный ключ в теле программы - неправильно, это все понимают, но и другие способы имхо не особо надежны - в частности предлагаемый Voldemar2004 с шифрованием.
Все не так просто. Есть программы, которые даже спустя месяц не смогли сломать! Ответ: если нужна серьезная защита, то обращаемся к профи. Наше дело писать программы. А их - защищать нас от крэкеров.
Добавлено @ 20:31
Цитата(bom @ 24.7.2005, 20:17)
Если защищаемая программа делается для узкого круга пользователей, которым в последствии понадобится поддержа, то способы защит, приведенных cardinalом , в самый раз - не дорого и сердито, но для массовых программ, Имхо, этого явно недостаточно, иначе мы бы уже давно не пользовались взломанными Винрарами, Нерами, и прочими TheBat-ами.
Если пишешь для своей организации - то смысла то защищать? Ведь им (своим сотрудникам) еще и объяснять надо особенности твоей проги, им не до взлома.



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Akina
Дата 24.7.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(bom @ 24.7.2005, 16:45)
Главная уязвимость это условие If Text1 = "пароль" Then Form2.Show Else End

Ну это совершенно по-дилетантски...

Во-первых, самое элементарное

Код

' idea, not a code!
Sub Textbox.keyDown(Key as Char, ...)
  If Key in "ABCD....XYZabc...xyz12..90..." Then
    CurrentPass = CurrentPass & Key
    Key = "*"
  ElseIf Key = BS Then
    CurrentPass = Left(CurrentPass, Len(CurrentPass)-1)
  ElseIf Key in "MoveCursor" Then
    ' ну короче вы поняли
End Sub


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

В третьих, если программа не посылает нах при неправильном пароле, а просто слегка глючит по типу "дважды два? ну где-то шесть-семь..."...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 24.7.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(Akina @ 24.7.2005, 19:04)
В третьих, если программа не посылает нах при неправильном пароле, а просто слегка глючит по типу "дважды два? ну где-то шесть-семь..."...

Да - это тоже классно. Ты как бы крэкнул, как бы работает, а на самом деле прога уже в курсе, что ее пытались крэкнуть и начинает теб гадить smile
Цитата(Voldemar2004 @ 24.7.2005, 18:29)
Процесс-то может и затруднит, но не сведет его к нулю.

Какая фраза smile Ну этого я и не утверждал...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
bom
Дата 24.7.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Voldemar2004
Цитата
Есть программы, которые даже спустя месяц не смогли сломать! Ответ: если нужна серьезная защита, то обращаемся к профи. Наше дело писать программы

Эт то понятно, интерес чисто теоретический с практическим уклоном: как им это удалось?

Цитата
Если пишешь для своей организации - то смысла то защищать?
Чтоб конкурирующая организация не заюзала на халяву smile

Akina
Цитата
Ну это совершенно по-дилетантски...
Что именно? Использовать конструкцию "If ..Then" для проверки ? В любом случае где то обязательно будет использоваться проверка чего то с чем то и в зависимости от результата что то делать (посылать, подглючивать и т.д или нормально работать).

Цитата
если программа не посылает нах при неправильном пароле
В подавляющем большинстве случаев результат проверки на зарегистрированность все равно где то отображается: или в диалоге "О программе" или в заголовке окна ("Незарегистрированная версия"). Если прога совсем никак не реагирует (внешне) на результат, то я сочувствую купившим ее юзерам, которые будут гадать в чем причина глюков - кривая регистрация, кривые собственные руки или руки Программера smile
PM MAIL   Вверх
cardinal
Дата 25.7.2005, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(bom @ 24.7.2005, 20:36)
как им это удалось?

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


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Akina
Дата 25.7.2005, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(bom @ 24.7.2005, 23:36)
В любом случае где то обязательно будет использоваться проверка чего то с чем то и в зависимости от результата что то делать (посылать, подглючивать и т.д или нормально работать).

При грамотном подходе - никогда... будет нечто типа:
Код

SomeConstant = Koeff1 * ASCII(Password[1]) + Koeff2 * ASCII(Password[2])...

В любом коде - куча констант...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bom
Дата 25.7.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Akina
Цитата
При грамотном подходе - никогда... будет нечто типа:
Код

SomeConstant = Koeff1 * ASCII(Password[1]) + Koeff2 * ASCII(Password[2])...

А дальше?
Код

If SomeConstant <> SomeConstant2 Then
'посылаем нах or подглючиваем or пишем "Evalution copy"...
Else
'нормально работаем
End If


cardinal
Цитата
Чем больше способов крэканья ты знаешь, тем больше способов защиты от них ты учтешь

Lenin
Цитата
Учиться, учиться, учиться...

Полностью с вами согласен smile
PM MAIL   Вверх
Akina
Дата 25.7.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(bom @ 25.7.2005, 17:31)
А дальше?

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bom
Дата 25.7.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Akina
Цитата
Пока ты обратно до непосредственно пароля доберешься

Достаточно поменять условие проверки на противоположное и все ухищрения на смарку, искать пароль нет необходимости. Хотя можно и поискать, для фаната реверсинжиниринга это только в кайф.
PM MAIL   Вверх
Akina
Дата 25.7.2005, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bom
Дата 25.7.2005, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Еще 1 способ.
Вместо:
Код

If SomeConstant <> SomeConstant2 Then
'где SomeConstant - очень запутанная [b]Akina[/b] хитроумная производная от эталонной строки,
'SomeConstant2 - не менее запутанная по тем же правилам производная строки, введенной юзером в качестве пароля для авторизации.

Код

If SomeConstant <> SomeConstant Then

или вместо второй переменной подставляется непосредственно значение первой переменной:
Код

If SomeConstant <> "значение, которое принимает SomeConstant" Then

PM MAIL   Вверх
bom
Дата 25.7.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Akina
Цитата
а считает-то она все одно хрен знает что - другие-то коэффициенты уплыли...
Это уже частности, зависящие от квалификации взломщика, степени сложности защиты, цены, затребованной автором за регистрацию, оценки взлощиком стоимости времени своего труда и т.д.
PM MAIL   Вверх
Akina
Дата 25.7.2005, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



bom
Не, ну опять - смысл-то какой?

Есть у меня, скажем, формула типа там (от балды)
Код

x=2.256 * a + (b - 84.1) ^ 0.746

Так вот - все эти коэффициенты я построю из char-ов пароля в переменных (типа там k(1)=(asc(Pass[1])*101+asc(Pass[3]))/(100+pass(5))+0.84 какого-нить)...
Для того чтобы понять какие значения должны народиться в этих переменных при правильном пароле, тебе придется не только востановить код, но и полностью понять логику, заложенную в программу... и только после этого ты сможешь занести в переменные нужные значения и убрать код их изменения, чтобы этот х правильно считался по известным a и b.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.2131 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.