Поиск:

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


Эксперт
****


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

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



Цитата(Нитонисе @ 7.1.2010,  14:28)
Цитата(xvr @  7.1.2010,  14:22 Найти цитируемый пост)
Нафига тогда ее защищать?

Чтоб хотя бы 20 баксов с нее поиметь)

Сдедайте свою программу shareware. Это более надежно  smile 
Цитата

Цитата(xvr @  7.1.2010,  14:22 Найти цитируемый пост)
Нет. Время взлома для 'профессионала' (если он вдруг заинтересуется) - 1 час

А какими знаниями и спецпрограммами должен располагать такой "профессионал"?
Знаниями - професиональными, спецпрограммами - никакими: встроенного дебагера в VS вполне хватит
Цитата

Цитата(xvr @  7.1.2010,  14:22 Найти цитируемый пост)
Есть - дебагер называется

И в каком виде получается исходный код? В том же, как я его пишу?
В виде ассемблера
Цитата

Цитата(xvr @  7.1.2010,  14:22 Найти цитируемый пост)
А он (взломщик) и не будет разбираться в коде проверки. Он просто найдет тот самый переход, что отличает правильный код от неправильного, и забъет его прямо в бинарном коде программы.

А можно менять исходный код программы, по желанию выключая какие-то блоки, либо добавляя?
Можно изменить условный переход на безусловный.
Цитата

А вы могли бы сломать такую защиту? Давайте я выложу простенькую программу, где только защита и будет. Попробуете ее взломать? Понятно что это время, какое-никакое, но ща выходные, чисто из спортивного интереса)
Спортивный интерес к такого рода занятиям у меня давным давно закончился. Уже не интересно.
Но тут еще наверное остались люди, которым это может быть интересно  smile

Добавлено через 2 минуты и 19 секунд
Цитата(SVN74 @ 7.1.2010,  17:44)
Можно ключ внедрить в тело программы под видом "команд процессора" - все равно эти команды выполняться не смогут, -  и пускай попробуют отличить команды от нужного ключа .

Хакер не будет ничего искать - он просто оттрасирует прогу и найдет тот условный переход, который ломает программу при неверном ключе. Потом подправит пару байтов в exe'нике, и все  smile 
PM MAIL   Вверх
Нитонисе
Дата 8.1.2010, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(xvr @  7.1.2010,  23:40 Найти цитируемый пост)
Хакер не будет ничего искать - он просто оттрасирует прогу и найдет тот условный переход, который ломает программу при неверном ключе. Потом подправит пару байтов в exe'нике, и все

Так в данном случае если сделать из моего условного перехода - безусловный, ниче не выйдет, насколько я понимаю.
У меня идет проверка if (код != код) {выход из программы}. А дальше идет обычный код. Если из этого условного перехода сделать безусловный и переходить без всяких сравнений к {выход из программы}, то получается лажа. А еще я поставил в приложении таймер, в событии которого OnTimer через каждые пять минут прописал снова проверку. Это тоже бесполезный трюк с моей стороны?
PM MAIL   Вверх
Damp1L
Дата 8.1.2010, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну раз уж пошла такая катавасия, то почему не сделать просто навесную защиту? К примеру armadillo. Один чёрт взломают, а так хоть защита от дурака, ну и время не надо терять на её разработку =)
PM MAIL   Вверх
artsb
Дата 8.1.2010, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Нитонисе @  8.1.2010,  02:08 Найти цитируемый пост)
Это тоже бесполезный трюк с моей стороны? 

ИМХО с таким же успехом взломают. И будет ваш таймер "вертеться" впустую.


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


Inspired =)
***


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

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



Цитата(Нитонисе @  7.1.2010,  20:28 Найти цитируемый пост)
А вы могли бы сломать такую защиту? Давайте я выложу простенькую программу, где только защита и будет. Попробуете ее взломать? Понятно что это время, какое-никакое, но ща выходные, чисто из спортивного интереса) 

Выкладывай, попробуем smile 


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


Эксперт
****


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

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



Цитата(Нитонисе @ 8.1.2010,  02:08)
Так в данном случае если сделать из моего условного перехода - безусловный, ниче не выйдет, насколько я понимаю.
У меня идет проверка if (код != код) {выход из программы}.

Ваш конкретный условный переход забьют NOP'ами
В любом случае условный переход транслируется в операцию сравнения и команду типа je blablabla. Хакер может превратить ее в jmp blablabla или в пару nop (в зависимости от того, должен переход исполняться или нет)

Цитата

А еще я поставил в приложении таймер, в событии которого OnTimer через каждые пять минут прописал снова проверку. Это тоже бесполезный трюк с моей стороны?
Тоже (хотя времени на взлом уйдет больше). Поймают выход из программы и оттрасируют, откуда его звали. Дальше все тот же patch на условные переходы

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


Опытный
**


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

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



А если заранее "подпортить" – изменить  код без всяких if конструкций то бишь привести программу в нерабочее состояние (правда в  таком случае try версии не получиться), а потом отдельной программой (ключом) восстановить данные в основной программе?  
PM MAIL WWW   Вверх
Нитонисе
Дата 8.1.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Кому не влом, попробуйте поломать эту защиту.
Суть ее такова. Если программа не зарегистрирована - она выдает исходящий код, который вы высылаете разработчику (то есть мне), а даю вам на основе этого кода уже входящий код, который будет записан в файле Reg.txt. С правильным кодом программа будет работать.


Это сообщение отредактировал(а) Нитонисе - 8.1.2010, 13:40

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


Inspired =)
***


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

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



Пофиксил следующим образом. Нашел вызов первого FileExists в обработчике формы OnCreate. Заменил его на прыжок в конец обработчика. Результат - программе все равно на Reg.txt, существует он или нет.

Добавлено @ 17:25
Ах да, еще таймер отключить надо. Это совсем просто - по аналогии. smile 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Project1.zip 242,75 Kb


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


Опытный
**


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

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



И вся "защита"?)

Добавлено через 2 минуты и 29 секунд
а выложите поломанную программу, которой бы все могли пользоваться.
PM MAIL   Вверх
Rrader
  Дата 8.1.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


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

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



Выложил smile 


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


Опытный
**


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

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



Цитата(Rrader @  8.1.2010,  17:31 Найти цитируемый пост)
Выложил

Это была моя самая надежная защита)) 
Однако поменялся размер файла. Можно же отследить размер, сравнивать его с эталонным и если размер отличается - не запускать программу?

Добавлено через 1 минуту и 2 секунды
а, не поменялся.. это просто текстового файла в архиве не было
PM MAIL   Вверх
W4FhLF
Дата 8.1.2010, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(vikaz @  7.1.2010,  15:25 Найти цитируемый пост)
Камрад, а если виртуализировать часть кода отвечающую за сверку?


Можно разобрать эту ВМ. Либо сэмулировать её имея один валидный ключ. 

PS Защита предложенная автором фигня, в своё время ломал такие за 3 минуты. smile

Добавлено через 47 секунд
Цитата(Нитонисе @  8.1.2010,  17:35 Найти цитируемый пост)
Однако поменялся размер файла. Можно же отследить размер, сравнивать его с эталонным и если размер отличается - не запускать программу?


Ну найдут это сравнение и "убьют" его точно так же как проверку твоего ключа. 


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


Inspired =)
***


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

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



Цитата(Нитонисе @  8.1.2010,  23:35 Найти цитируемый пост)
сравнивать его с эталонным

Тоже лечится smile 


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


Опытный
**


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

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



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

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

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


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

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

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

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

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

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


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

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


 




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


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

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