Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 01:20   #1
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
Лампочка Анализ ПО

Всем привет! Уже давно посещает мысль: "Скоро сессия, - пора рубить хвосты". Но речь пойдет, конечно, не об этом. Это всего-лишь предпосылка для данной темы. Студентам, как известно, нужно каждый семест "что-нибудь" сдавать Вот уже месяц до окончания семестра, а я ничего не делал (как и большенство, наверное?) Решил за выходной полностью подготовить для сдачи один предмет "ПАЗИ", как расшифровывается - понятия не имею Так вот, одна лабораторная меня очень сильно заинтересовала, что обычно им не свойственно Ну сами знаете, что-то типа: открой этот ехе-файл, создай пользователей, раздай права и т.д. Название этой лабораторной звучит так: "ИЗУЧЕНИЕ И ОТЛАДКА ПРИЛОЖЕНИЙ WIN32 И СПОСОБЫ ИЗМЕНЕНИЯ ХОДА ИХ ВЫПОЛНЕНИЯ С ПОМОЩЬЮ ОТЛАДЧИКА УРОВНЯ ПОЛЬЗОВАТЕЛЯ".
Признаюсь честно, что никогда этим не занимался и не знал на сколько это может быть ИНТЕРЕСНО!
Смысл работы в следющем: с помощью дизассемблера провести анализ exe-файла на стойкость алгоритма защиты от взлома пароля. Как следствие, - пароль нужно взломать или хотя бы попробовать это сделать! Так как из команд ассемблера до этого момента я знал лишь: mov, and и подобные им, у меня на взлом пароля ушло больше 4-х часов с учетом параллельного изучения асма.
К чему я это всё... Если уж меня так это заинтересовало, то может кто-нибудь еще захочет пораскинуть мозгами. Для затравки выкладываю дизассемблер и свой вариант демонстрационной программы для взлома.
И дам небольшую подсказку, - алгоритм оооочень простой, мне аж стыдно стало потом.
Если вам интересно и вы стали решать, то не выкладывайте вариант решения, хорошо? А кто захочет еще подумать, могу выложить остальные 20 вариантов.
В архиве программа: HEX-редактор, Дебагер и вариант программы.
Вложения
Тип файла: zip Дизассемблер.zip (1.87 Мб, 17 просмотров)
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 27.11.2011, 01:54   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

да уж, мало того, что защита туповата, мягко скажем, так ещё и накручено на ровном месте одинаковой ерунды. Если и остальные 20 такие же, то не интересно )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 27.11.2011, 02:10   #3
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

veniside, не знаю про остальные, но есть точно другой тип задания с точно другим типом алгоритма. Кстати, сколько времени потратили?
Вложения
Тип файла: zip CrackMe20.zip (17.2 Кб, 12 просмотров)
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 27.11.2011, 02:19   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> сколько времени потратили

минут 10 в IDA, потом стало не нтересно, попробовал.. (спойлер белым текстом внизу)

ввести одинаковое имя и серийник — прокатило. Так я и думал. А что именно оно там подсчитывает от имени и серийника, какие-то циферьки.. Главное, что подсчитывает по одинаковому алгоритму.

щас глянем на крякми20 )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 27.11.2011 в 02:48. Причина: не пароль, а серийник, конечно )
veniside вне форума Ответить с цитированием
Старый 27.11.2011, 02:41   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

крякми 20 спойлер

ну тут тоже всё просто. Оно генерит случайный код, вида
LIBERTINAJE-11222184223146123118171201114185117
Из этого кода нас интересуют 7 цифр после тире — 1122218 (они меняются от запуска к запуску, видимо, рандом где-то стоит).
Переводим их в число (1122218), умножаем на 11 и делим на 4 без остатка. Получившееся число (3054749) и будет серийником.


Так, 20 минут.. многовато )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 27.11.2011, 02:42   #6
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

А я долго мучался, расшифровывая код асма... Уже после 2-х часов изучения кода обратил внимание на похожие структуры команд (только регистрами отличаются). Провел аналогию с операторами высокого уровня. Вкурил фишку.
Интересно, сколько времени потребуется опытному взломщику, чтобы сломать, например ключ, созданный методом хеширования или с помощью более сильного алгоритма, например RSA?
veniside, ну похоже, что все задания делятся на два типа: "-" и "console", отличаются наверное только методами: там сложить, там поделить и т.д. ... Думаю, остальное нет смысла выкладывать...
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось ImmortalAlexSan; 27.11.2011 в 02:46.
ImmortalAlexSan вне форума Ответить с цитированием
Старый 27.11.2011, 03:02   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

не, ну сломать RSA — это конечно классно, но (пока) требует невероятных вычислительных затрат, и это хорошо, иначе вся е-коммерция вместе с HTTPS пошла бы прахом.

Кстати, защита ПО, постоенная на секретности алгоритма, обычно очень слабая. Т.к. алгоритм быстро разламывается, и привет. Если сравнивать с RSA, алгоритм там известен, ломать, собственно, нечего. Нужно тупо сидеть, и вычислять приватную часть ключа. Т.е. написать универсальный ключегенератор малореально. Остаётся только находить все точки проверки ключа, ломать их, и, если в ключе есть важные для работы программы данные — покупать по ворованной кредитке рабочий ключ, выкусывать эти данные, вставлять в сломанную exe и выпускать свой релиз )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 27.11.2011, 15:52   #8
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
пароль нужно взломать или хотя бы попробовать это сделать
А где же вариант тупо выпилить проверку пароля?
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 27.11.2011, 18:09   #9
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Sam Gold, есть такой вариант Но я о нем умолчал.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 27.11.2011, 18:28   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Так как из команд ассемблера до этого момента я знал лишь: mov, and и подобные им, у меня на взлом пароля ушло больше 4-х часов с учетом параллельного изучения асма.
Задача выяснить пароль? Если нет то можно тупо за NOPить одну команду (JNZ SHORT 004010CB) и программа будет принимать любой пароль - проверено только что
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
анализ технологий Тян Помощь студентам 0 07.06.2011 23:03
ABC анализ aliya_n_g Microsoft Office Excel 7 14.01.2011 08:48
АВС-анализ. abdumanon Microsoft Office Excel 8 14.09.2010 08:32
спектральный анализ DeDoK Общие вопросы Delphi 7 19.09.2008 22:47