Russian Qt Forum
Ноябрь 27, 2024, 05:59
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Общий
>
Проблемы демо
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Проблемы демо (Прочитано 10231 раз)
JamS007
Гость
Re: Проблемы демо
«
Ответ #15 :
Январь 16, 2011, 20:42 »
Еще было бы неплохо сделать не одну такую проверку, а несколько и в разных местах программы. Например, перед выполнением большинства функций программы. Еще можно вызывать проверку по random’у, чтобы было сложней уловить закономерность.
Тогда это точно увеличит головную боль взломщика, но и это не гарантирует, что программа не будет взломана.
Записан
Waryable
Гость
Re: Проблемы демо
«
Ответ #16 :
Январь 17, 2011, 11:58 »
Дисасемблер отловит последний jump и злоумышлятель будет знать, где его отключают. А, вообще, насколько хорош потенциальный хакер?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проблемы демо
«
Ответ #17 :
Январь 17, 2011, 17:27 »
Цитата: HaySayCheese от Январь 16, 2011, 20:42
Тогда это точно увеличит головную боль взломщика, но и это не гарантирует, что программа не будет взломана.
Согласен, это не "архитектурное" решение
Цитата: Waryable от Январь 17, 2011, 11:58
Дисасемблер отловит последний jump и злоумышлятель будет знать, где его отключают. А, вообще, насколько хорош потенциальный хакер?
jump куда? Я читаю переменную в куче, а модифицирую не ее а что-то другое (чтобы завалить)
К сожалению, есть основания полагать что хакер весьма хорош
Записан
Waryable
Гость
Re: Проблемы демо
«
Ответ #18 :
Январь 18, 2011, 07:29 »
Цитата: Igors от Январь 17, 2011, 17:27
К сожалению, есть основания полагать что хакер весьма хорош
В таком случае защиты на основе ключей малоэффективны. Надо ограничивать функционал демки радикально: убирать код(#if DEMO_VERSION...), или делать код заведомо ошибочным с явным указанием в инструкции к демке, что ошибка добавлена сознательно. Либо, если проект сложный, то это все решается на уровне Поддержки Производителя. Без наличия либо исходников, либо Поддержки Производителя, ни один долгоиграющий проект не может быть эффективным. Естесственно, если это не реализация какого-либо жесткого алгоритма(черный ящик).
Кстати, защиты на основе времени наработки обходятся относительно легко. Лучше делать на основе количества каких-либо атомарных в алгоритме операций. Причем желательно сделать так, что бы это количество "дробило" вокруг некторого значения.
Цитата: Igors от Январь 17, 2011, 17:27
jump куда? Я читаю переменную в куче, а модифицирую не ее а что-то другое (чтобы завалить)
jump на функцию "заваливания" демки.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проблемы демо
«
Ответ #19 :
Январь 18, 2011, 16:22 »
Цитата: Waryable от Январь 18, 2011, 07:29
Надо ограничивать функционал демки радикально: убирать код(#if DEMO_VERSION...),
Это сложно и хлопотно. Многие пользователи прекрасно могут обойтись без отрезанных фичес. А "всех перерезать" - тоже не гуд, что тогда демонстрируем? Вариант "ограничить размер финального вывода" всем понятен и хорош, вот только как его чисто сделать?
Цитата: Waryable от Январь 18, 2011, 07:29
или делать код заведомо ошибочным с явным указанием в инструкции к демке, что ошибка добавлена
Ну такая демка может и отпугнуть
Цитата: Waryable от Январь 18, 2011, 07:29
jump на функцию "заваливания" демки.
Ф-цию? Зачем?? Не лучше ли втихаря напр. увеличить счетчик одного из контейнеров вдвое?
Записан
Waryable
Гость
Re: Проблемы демо
«
Ответ #20 :
Январь 19, 2011, 05:11 »
Цитата: Igors от Январь 18, 2011, 16:22
Ф-цию? Зачем?? Не лучше ли втихаря напр. увеличить счетчик одного из контейнеров вдвое?
Ну как бэ... Я ведь не знаю что делает ваше приложение, но могу предположить, что удвоение счетчика должно либо сделать работу алгоритма ошибочной, либо замедлит его ну, вообще что-то из этого разряда. Чем это отличается от явно описанной ошибки?
И вцелом, мы сейчас обсуждаем безтолку. Т.к. лучшим вариантом было бы почитать хотя бы что нибудь типа "курс молодого крякера". Это позволит понять как они действуют и сообразить простецкую защиту. Ну а если подразумевается хороший крякер, то кроме как на внесение ошибки в код или ограничение функциональности расчитывать сложно. Защита от хорошего крякера - крякер чуть большей квалификации.
А с другой стороны: всетаки проект не расчитан на перспективу сотрудничества? Аутсорсинг?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Проблемы демо
«
Ответ #21 :
Январь 19, 2011, 09:26 »
Могу предложить примитивный вариант защиты основанный на множественных таймерах.
Т.е. принятие решения о выходе делаем в одном таймере. Выход в другом. А между ними несколько промежуточных. Причём время везде разное.
Записан
Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проблемы демо
«
Ответ #22 :
Январь 19, 2011, 11:05 »
Цитата: GreatSnake от Январь 19, 2011, 09:26
Могу предложить примитивный вариант защиты основанный на множественных таймерах.
Т.е. принятие решения о выходе делаем в одном таймере. Выход в другом. А между ними несколько промежуточных. Причём время везде разное.
Если была попытка модификации - никаких "цивильных" выходов я обеспечивать не обязан, просто "завалить" как угодно
Цитата: Waryable от Январь 19, 2011, 05:11
И вцелом, мы сейчас обсуждаем безтолку. Т.к. лучшим вариантом было бы почитать хотя бы что нибудь типа "курс молодого крякера". Это позволит понять как они действуют и сообразить простецкую защиту. Ну а если подразумевается хороший крякер, то кроме как на внесение ошибки в код или ограничение функциональности расчитывать сложно. Защита от хорошего крякера - крякер чуть большей квалификации.
Идеально было бы именно "ограничение ф-циональности" т.е. application просто "не умеет" делать выход больше заданного (как его ни модифицируй).
Записан
brankovic
Гость
Re: Проблемы демо
«
Ответ #23 :
Январь 19, 2011, 11:28 »
Цитата: Igors от Январь 19, 2011, 11:05
Идеально было бы именно "ограничение ф-циональности" т.е. application просто "не умеет" делать выход больше заданного (как его ни модифицируй).
В старых игрушках очень часто возникала проблема переполнения (денег, жизней и т.п.). Поэтому их сразу после выхода патчили, чтобы деньги и прочее не превышали лимита. Если речь о перфекционизме, то я бы искуственно усложнил какую-нибудь формулу в вычислениях, чтобы она переполнялась для n>640.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Проблемы демо
«
Ответ #24 :
Январь 20, 2011, 11:44 »
Цитата: brankovic от Январь 19, 2011, 11:28
Если речь о перфекционизме, то я бы искуственно усложнил какую-нибудь формулу в вычислениях, чтобы она переполнялась для n>640.
Хорошо бы, но задача не состоит из какой-то одной чудесной формулы. Разные вычисления разбросаны в разных местах, практически всегда используется та или иная их часть
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...