![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
![]() |
![]() |
![]() |
![]() |
#13 | |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]() Цитата:
Пускай эта сигнатура генерируется особым алгоритмом, таким, что бы она каждый раз была разной, но имела какую то неявную закономерность. Самый простой пример - в ней всегда четное количество гласный букв, а начало совпадает с началом md5 хеша ip адреса машины с которой она была запрошена. (Еще раз подмечу крайнюю ненадежность этого примера). Зная эту закономерность, внутри программы можно каждый раз проверять подлинность сигнатуры. И активно это использовать. Например в самом интересном месте работы программы, внезапно, выдать совершенно левую ошибку и отказаться работать дальше. С виду эта сигнатура - случайный набор символов. Если взломщик решил писать свой сервер, он с вероятностью 90% не станет разбираться как генерируется эта сигнатура. Главное достаточно надежно замаскировать такие проверки.
В планах порабощение вселенной...
|
|
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]()
В ходе темы, ТС ни разу не отписался, зато за него всё уже решили.
Метод защиты действительно не эффективный. Мало того, что его легко обойти, так он ещё и пользователю мешает(в случае смены железа). zumm, способ хороший, но очень затратный. Для мелких проектов не потходит. К тому же автору нужно готовую либу для защиты, а не теорию хорошой защиты. |
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Выудил "контрольные методы", и там перед ret прописал: mov eax, 1 ret И глубоко пофигу на то, что происходит в самой функции. Все. В дизассемблере неплохо так видно как движется программа когда нет ключа, и очень хорошо видно, какие места программа обходит стороной. Там байтик с ожидаемого 00 на 01 заменил, тут результат функции изменил, там патч прописал. Вот и все. И выудить лакомое место довольно просто! Достаточно найти строку "Вы успешно зарегистрированы!" ну или что-то типа того. Потом поставить бряк перед недалеким cmp. Сломать сетевое ПО сложно, когда ему нужно сохранить функциональность, да и то, его ломают уже недели через 2. К примеру тот же MS Office и Windows в целом. Последний раз редактировалось Человек_Борща; 12.08.2013 в 00:20. |
|
![]() |
![]() |
![]() |
#16 | |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]()
апну темку.
zumm Вы писали Цитата:
Спасибо за ответы) ![]() |
|
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Схема дырявая
![]() Ключ для расшифровки-то у клиента.... Выхватил эту dll'у и все. |
![]() |
![]() |
![]() |
#19 | |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]() Цитата:
![]() мне метод zumm нравится ![]() |
|
![]() |
![]() |
![]() |
#20 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
bakanaev, зашифровать библиотеку можно каким угодно обратимым алгоритмом. Хоть переXORить с ключом. Для пущего эффекта можно и сигнатуру (описанную выше) приплести, что бы каждый раз шифр разным выходил. Еще лучше добавить лишних данных, что бы длина шифровки была переменной.
По поводу использования библиотеки не сохраняя на диск: просто оставлять ее в памяти. Можно обойтись и без библиотеки. Хорошо если у вас не просто какие-то константные значения, а жизненно необходимые программе функции. Можно пойти еще дальше, и передавать уже не библиотеку, а сами эти функции (предварительно скомпилированные и зашифрованные, конечно). Или даже еще дальше. Можно расшифровывающую функцию передавать вместе с шифрованными данными (естественно шифровать ее другим алгоритмом или не шифровать вообще), вот хацкер удивится. ![]() Человек_Борща, да, согласен. Но это пока все что мне пришло в голову. На моем опыте метод оказался эффективен: мой софт перестали ломать после того как я перешел на вот такую вот защиту.
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лицензионная политика | Sweta | Помощь студентам | 0 | 07.12.2011 01:29 |
Защита отключение программ | Simbad | Безопасность, Шифрование | 1 | 15.08.2011 15:06 |
Защита от нещелательных программ | Pigoreva | Помощь студентам | 9 | 27.05.2011 00:01 |
Лицензионная версия Delphi | Lokos | Софт | 11 | 28.09.2010 16:57 |