![]() |
|
![]() ![]() ![]() |
|
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Ну это явно более устойчивое, чем все предложенное! А ВМ+SenseLock, практически непобедимая вещь! Сумма взлома одного только ключа начинается от 10 000 у.е. -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Достаточно стандартный метод шифрования части исполняемого кода. Защита снимается запуском с валидным ключем и последующим 'сдергиванием' образа памяти (к моменту запуска он уже расшифрован). Есть более сложная защита - есть несколько кусков кода которые по очереди расшифровываются и зашифровываются обратно. Так что в каждый момент времени только ОДИН кусок кода находится в расшифрованном состоянии (и именно он и исполняется). Т.е. в памяти не бывает полностью расшифрованного образа. Тоже ломается путем пошагового сброса расшифрованных кусков кода. Добавлено через 2 минуты и 11 секунд Да
![]() |
||||
|
|||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Отсюда напрашивается простой вывод! Ничего идеального нет, как и защита ПО! Просто нужно для себя решить, какая на данный момент менее затратная реализация алгоритма защиты. Импровизируйте, пусть тот человек который, вдруг, будет взламывать Вашу программу, будет в шоке от того, как Вы там намудрили. Главное сами не за путайтесь!!! ![]() -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
А сломайте, пожалуйста, эту программу.
Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
||||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
![]() Минут 10 ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
IDA Pro + Hex Rays... и Сишный код всей программы у тебя на ладони... да конечно некоторые переменные будут в виде 1231112 или _dword128388 т.к. имена ф-ций, переменных, структур, классов и т.д. просто теряются. Переменные могут быть не того типа (редко но бывает). И т.д. но чисто чтобы проанализировать что ж ты делал - легко. Можешь тупо хешировать каждую ф-цию и программно проверять не изменила ли она свой хеш (ну и делать соответствующие действия). Хотя аналогично... это только геморой... А можешь просто купить что то типа WinLicense и радоваться))) т.к. последнюю ВЛ не думаю что тебе станут вскрывать менее чем за 200$ а если у тебя прога стоит 20$ то точно не будут =). |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Rrader
W4FhLF Так вы просто проигнорировали весь код в функции OnCreate? А если там тело программы, которое собственно выполняет нужные функции? Сейчас сделаю полезную программу с защитой - решение кубического уравнения. Добавлено через 2 минуты и 53 секунды
А у тебя есть эти программы? Можешь показать результат их работы на примере моей тестовой проги? Хочу посмотреть как будет выглядеть мой код, чтобы знать от чего защищаться. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Предлагаю вам попробовать поломать эту программу решения кубического уравнения.
Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
![]() Поидее должно быть -1. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Как орехи...
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
W4FhLF, как взломал?
То что не совсем точное решение - это что-то с округлениями. Это сообщение отредактировал(а) Нитонисе - 9.1.2010, 15:31 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Запустил OllyDBG, посмотрел какие API вызывает программа, увидел:
Посмотрел откуда она вызывается, поставил туда бряк. Он сработал, я протрасировал функцию и поправил несколько переходов. В прицнипе если посидеть подольше можно и keygen тебе замутить, там алгоритм то простой. ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Что нужно сделать в конкретно этой защите, чтобы тебе было сложнее ее поломать? Или она изначально по задумке ни к черту? P.S. По округлениям не понятно. Почему все же точность низкая? Переправил все числа с float на double - тот же результат. Подозреваю что точность извлечения корней sqrt, возведения в степень pow и вычисления логарифмов log в подключаемом модуле math.h не на высоте. Похоже на то? |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Скорее второе. Что можно сделать, чтобы без ключа не сломали. Это шифровать часть критически важного функционала или данных. И расшифровывать по регистрационному ключу. Кроме тебя, алгоритма генерации ключа ни у кого быть не должно. И сам шифр надо взять посерьёзней. Тогда без хотя бы одного валидного ключа не взломают. Ну и погугли на тему "anti debugger" -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |