Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить серийный номер процессора 
:(
    Опции темы
vikaz
Дата 8.1.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Цитата(W4FhLF @  8.1.2010,  19:37 Найти цитируемый пост)
Можно разобрать эту ВМ. Либо сэмулировать её имея один валидный ключ. 

Ну это явно более устойчивое, чем все предложенное! А ВМ+SenseLock, практически непобедимая вещь! Сумма взлома одного только  ключа начинается от 10 000 у.е.



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
xvr
Дата 8.1.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(SVN74 @ 8.1.2010,  12:36)
А если заранее "подпортить" – изменить  код без всяких if конструкций то бишь привести программу в нерабочее состояние (правда в  таком случае try версии не получиться), а потом отдельной программой (ключом) восстановить данные в основной программе?

Достаточно стандартный метод шифрования части исполняемого кода. Защита снимается запуском с валидным ключем и последующим 'сдергиванием' образа памяти (к моменту запуска он уже расшифрован).

Есть более сложная защита - есть несколько кусков кода которые по очереди расшифровываются и зашифровываются обратно. Так что в каждый момент времени только ОДИН кусок кода находится в расшифрованном состоянии (и именно он и исполняется). Т.е. в памяти не бывает полностью расшифрованного образа. 
Тоже ломается путем пошагового сброса расшифрованных кусков кода.

Добавлено через 2 минуты и 11 секунд
Цитата(Нитонисе @ 8.1.2010,  17:40)
Цитата(W4FhLF @  8.1.2010,  17:37 Найти цитируемый пост)
Ну найдут это сравнение и "убьют" его точно так же как проверку твоего ключа. 

Так а взломщик может затирать лбюбые фрагменты кода, которые посчитает нужным? Или как бы обходить их вставкой какого-то безусловного перехода? Например перед проверкой регистрации вставить что-то типа "go to" и указать на первую команду после проверки?

Да
Цитата

Добавлено @ 17:41
Цитата(Rrader @  8.1.2010,  17:39 Найти цитируемый пост)
Тоже лечится


Ну я понимаю что лечится вообще все. Мне бы лишь бы программа продержалась хотя бы часов 10 против пусть не мегавзломщика, но против сильного хакера.
Стоимость создания такой защиты будет СИЛЬНО превышать стоимость самой защищаемой программы  smile 

PM MAIL   Вверх
vikaz
Дата 8.1.2010, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Цитата(xvr @  8.1.2010,  21:01 Найти цитируемый пост)
Есть более сложная защита - есть несколько кусков кода которые по очереди расшифровываются и зашифровываются обратно. Так что в каждый момент времени только ОДИН кусок кода находится в расшифрованном состоянии (и именно он и исполняется). Т.е. в памяти не бывает полностью расшифрованного образа. 
Тоже ломается путем пошагового сброса расшифрованных кусков кода.

Отсюда напрашивается простой вывод! Ничего идеального нет, как и защита ПО! Просто нужно для себя решить, какая на данный момент менее затратная реализация алгоритма защиты. Импровизируйте, пусть тот человек который, вдруг, будет взламывать Вашу программу, будет в шоке от того, как Вы там намудрили. Главное сами не за путайтесь!!!   smile 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Нитонисе
Дата 9.1.2010, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

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



А сломайте, пожалуйста, эту программу.



Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  _______________.zip 242,27 Kb
PM MAIL   Вверх
Rrader
  Дата 9.1.2010, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


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

Репутация: 13
Всего: 191



Цитата(Нитонисе @  9.1.2010,  06:08 Найти цитируемый пост)
А сломайте, пожалуйста, эту программу.

Ничего не изменилось:
Цитата(Rrader @  8.1.2010,  23:23 Найти цитируемый пост)
Нашел вызов первого FileExists в обработчике формы OnCreate. Заменил его на прыжок в конец обработчика.




--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
W4FhLF
Дата 9.1.2010, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



user posted image

Минут 10 smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Kirgston
Дата 9.1.2010, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 792
Регистрация: 24.12.2007

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



Цитата(Нитонисе @  7.1.2010,  14:11 Найти цитируемый пост)
Мне вот что интересно. Есть ли инструментарий, позволяющий взломщику получить код исполняемого файла? 

IDA Pro + Hex Rays... и Сишный код всей программы у тебя на ладони... да конечно некоторые переменные будут в виде 1231112 или _dword128388 т.к. имена ф-ций, переменных, структур, классов и т.д. просто теряются. Переменные могут быть не того типа (редко но бывает). И т.д. но чисто чтобы проанализировать что ж ты делал - легко. 

Можешь тупо хешировать каждую ф-цию и программно проверять не изменила ли она свой хеш (ну и делать соответствующие действия). Хотя аналогично... это только геморой...
А можешь просто купить что то типа WinLicense и радоваться))) т.к. последнюю ВЛ не думаю что тебе станут вскрывать менее чем за 200$ а если у тебя прога стоит 20$ то точно не будут =). 
PM MAIL   Вверх
Нитонисе
Дата 9.1.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

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



Rrader 
W4FhLF
Так вы просто проигнорировали весь код в функции OnCreate? А если там тело программы, которое собственно выполняет нужные функции? Сейчас сделаю полезную программу с защитой - решение кубического уравнения.

Добавлено через 2 минуты и 53 секунды
Цитата(Kirgston @  9.1.2010,  10:42 Найти цитируемый пост)
IDA Pro + Hex Rays... и Сишный код всей программы у тебя на ладони...

А у тебя есть эти программы? Можешь показать результат их работы на примере моей тестовой проги? Хочу посмотреть как будет выглядеть мой код, чтобы знать от чего защищаться.
PM MAIL   Вверх
Нитонисе
Дата 9.1.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

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



Предлагаю вам попробовать поломать эту программу решения кубического уравнения.



Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  _______________.zip 251,08 Kb
PM MAIL   Вверх
W4FhLF
Дата 9.1.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



user posted image

Поидее должно быть -1. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
artsb
Дата 9.1.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 39
Всего: 64



Как орехи...


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 9.1.2010, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

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



W4FhLF, как взломал?

То что не совсем точное решение - это что-то с округлениями.

Это сообщение отредактировал(а) Нитонисе - 9.1.2010, 15:31
PM MAIL   Вверх
W4FhLF
Дата 9.1.2010, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Нитонисе @  9.1.2010,  15:29 Найти цитируемый пост)
W4FhLF, как взломал?


Запустил OllyDBG, посмотрел какие API вызывает программа, увидел:

Цитата

Found intermodular calls, item 9
 Address=00401E3E
 Disassembly=CALL    <JMP.&KERNEL32.GetVolumeInformationA>
 Destination=kernel32.GetVolumeInformationA


Посмотрел откуда она вызывается, поставил туда бряк. Он сработал, я протрасировал функцию и поправил несколько переходов. В прицнипе если посидеть подольше можно и keygen тебе замутить, там алгоритм то простой. smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Нитонисе
Дата 9.1.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

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



Цитата(W4FhLF @  9.1.2010,  15:40 Найти цитируемый пост)
Посмотрел откуда она вызывается, поставил туда бряк. Он сработал, я протрасировал функцию и поправил несколько переходов. В прицнипе если посидеть подольше можно и keygen тебе замутить, там алгоритм то простой.

Что нужно сделать в конкретно этой защите, чтобы тебе было сложнее ее поломать? Или она изначально по задумке ни к черту?

P.S. По округлениям не понятно. Почему все же точность низкая? Переправил все числа с float на double - тот же результат. Подозреваю что точность извлечения корней sqrt, возведения в степень pow и вычисления логарифмов log в подключаемом модуле math.h не на высоте. Похоже на то?
PM MAIL   Вверх
W4FhLF
Дата 9.1.2010, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Нитонисе @  9.1.2010,  15:47 Найти цитируемый пост)
Что нужно сделать в конкретно этой защите, чтобы тебе было сложнее ее поломать? Или она изначально по задумке ни к черту?


Скорее второе. 

Что можно сделать, чтобы без ключа не сломали. Это шифровать часть критически важного функционала или данных. И расшифровывать по регистрационному ключу. Кроме тебя, алгоритма генерации ключа ни у кого быть не должно. И сам шифр надо взять посерьёзней. Тогда без хотя бы одного валидного ключа не взломают. Ну и погугли на тему "anti debugger"


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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