eXeL@B —› Основной форум —› PHD2012-BestReverser |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 30 мая 2012 11:23 · Личное сообщение · #1 Стартовал контест на Positive Hack Days 2012. Конкурс лучший реверсер от ESET. Адрес жертвы http://crackme.esetnod32.ru/ Удачи в пробе сил! ----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: obfuskator, ClockMan, neomant |
|
Создано: 30 мая 2012 12:22 · Личное сообщение · #2 IDA 6.1 с лицензий от ESET для изучения крекми от ESET. | Сообщение посчитали полезным: DimitarSerg, obfuskator, Dart Raiden, Hexxx |
|
Создано: 30 мая 2012 12:59 · Личное сообщение · #3 |
|
Создано: 30 мая 2012 13:14 · Поправил: schokk_m4ks1k · Личное сообщение · #4 только я не понял что именно нужно там сделать? нужно по ходу набрать набор их букв и цифр для разблокировки ввода имя и ключа??? разблокировать для ввода ключа оказалось совсем легко Code:
Первое место: полностью восстановленный алгоритм функционирования электронного замка и ключ для его открытия, а так же полностью восстановленный алгоритм генерации и генератор кодовых последовательностей для любых имен. Приз – IPAD 3-го поколения Второе место: полное описание принципа функционирования электронного замка и алгоритма проверки кодовых последовательностей. Также необходимо предоставить ключ к замку и кодовую последовательность для своего имени/ника. Приз: Amazon Kindle Fire Третье место: полное описание принципа функционирования электронного замка или алгоритма проверки кодовых последовательностей. Так же необходимо предоставить ключ к замку или кодовую последовательность для своего имени/ника. Приз: Amazon Kindle Touch |
|
Создано: 30 мая 2012 13:18 · Личное сообщение · #5 |
|
Создано: 30 мая 2012 13:19 · Поправил: reversecode · Личное сообщение · #6 внутри exe, длл которая грузится при нажатии, обрабатывается и удаляется сразу после правильного ввода ключа поля разблокируются и можно отправить даные)) инициализация алго для ключа .text:00404300 итд за ним, дальше математика... скучно вообщем 2), 3) место ради "читалок" - скучно r_e смотри внимательно ClockMan пишет: Только вот dll в нутри ресурсов закриптована и без первого валидного ключа "светофора" второе задание выполнять безсмысленно! ну так естественно просто смысл всех этих реверс игр - just for fun математики больше чем в реальный реверс проектах | Сообщение посчитали полезным: DimitarSerg |
|
Создано: 30 мая 2012 13:42 · Поправил: r_e · Личное сообщение · #7 |
|
Создано: 30 мая 2012 14:20 · Личное сообщение · #8 reversecode пишет: внутри exe, длл для каждой кнопки под rc4(rc4_sub_401790) итд Только вот dll в нутри ресурсов закриптована и без первого валидного ключа "светофора" второе задание выполнять безсмысленно! schokk_m4ks1k пишет: разблокировать для ввода ключа оказалось совсем легко тупой патч здесь неканает ;) ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 30 мая 2012 14:30 · Личное сообщение · #9 |
|
Создано: 30 мая 2012 15:14 · Личное сообщение · #10 Приаттачил свой код этого крякми под паролем. Как выйдет решение - увидим был ли там rc4 =) c834_30.05.2012_EXELAB.rU.tgz - phd12.zip ----- старый пень |
|
Создано: 30 мая 2012 15:22 · Личное сообщение · #11 |
|
Создано: 30 мая 2012 15:23 · Поправил: schokk_m4ks1k · Личное сообщение · #12 |
|
Создано: 30 мая 2012 15:32 · Личное сообщение · #13 |
|
Создано: 30 мая 2012 16:24 · Поправил: V0ldemAr · Личное сообщение · #14 |
|
Создано: 30 мая 2012 16:32 · Личное сообщение · #15 |
|
Создано: 30 мая 2012 17:48 · Личное сообщение · #16 |
|
Создано: 30 мая 2012 17:50 · Поправил: schokk_m4ks1k · Личное сообщение · #17 |
|
Создано: 30 мая 2012 17:57 · Поправил: r_e · Личное сообщение · #18 int Цвет там только в качестве подсказки какие биты утановлены, а какие скинуты. Если вкратце, то похоже на LFSR 64-бита. С него на каждом клике снимается 16-бит с определенных позиций и показывается тебе. Кликом ты меняешь 1 бит. Значение вносится на ту же позицию и состояние регистра обновляется через Seed_ = (Seed_ << 1) | BitSum64(Seed_ & 0x9B1ADEDF847D3481ui64); Задача: кликаньем добиться чтоб значение генератора пришло к одному из предопределенных таблицей вариантов. Програмно можно отбрутить последовательность, но я так думаю что должен быть и менее напряжный способ. ----- старый пень |
|
Создано: 30 мая 2012 18:20 · Личное сообщение · #19 Алгоритм-то я изучил. Просто не понравилась визуализация замка. Можно было что-нибудь поумнее придумать. По идее каждый бит определяется 8-ю 64 битными числами, и получить надо такое: res_value == 0xA3FE45ADF1EC2AB4 r_e пишет: Кликом ты меняешь 1 бит Меняешь ты сразу 16. Устанавливается 1 и сбрасывается 15. Потом еще сдвиг влево, а на место освободившегося бита пишется бит полученный на основе 0x9B1ADEDF847D3481u. Проверка ключа не изменяет его, получив правильный ключ, по идее можно выстроить правильную последовательность сдвигов бит, которая даст нам нужное состояние сида. |
|
Создано: 30 мая 2012 18:28 · Поправил: r_e · Личное сообщение · #20 int Чой-то вдруг? Code:
Ну и число у меня 0xe7fd097289cbb59a. адд. приложил полный код. могут быть коссяки из-за переоптимизации. 85bd_30.05.2012_EXELAB.rU.tgz - phd12.cpp ----- старый пень |
|
Создано: 30 мая 2012 18:33 · Поправил: bbuc · Личное сообщение · #21 |
|
Создано: 30 мая 2012 18:33 · Личное сообщение · #22 |
|
Создано: 30 мая 2012 18:40 · Личное сообщение · #23 |
|
Создано: 30 мая 2012 19:18 · Поправил: OKOB · Личное сообщение · #24 r_e пишет: Ну и число у меня 0xe7fd097289cbb59a. Брут?? Тут вроде бага void Final() { Seed_ = (Seed_ << 1) | BitSum64(Seed_ & 0x9B1ADEDF847D3481ui64); } Seed_ = (Seed_ << 1) | (BitSum64(Seed_ & 0x9B1ADEDF847D3481ui64) & 1); и на выходе с этим числом у меня получается 0xa3fe45adf16c2aea вместо 0xA3FE45ADF1EC2AB4 ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 30 мая 2012 19:48 · Поправил: r_e · Личное сообщение · #25 OKOB Точно бага =) Отбираем из таблицы валидные строки и возможные значения в них. Просеиваем отобранное через ту же таблицу с учетом некорректных значений. На финише берем OR от всего получившегося - должен быть валидный Seed, который используется во второй части. Но я где-то натупил. Не совпадает пара бит. А кто-то уже получил ответы на светофор? Что-то упорно ничего не подходит. ----- старый пень |
|
Создано: 31 мая 2012 00:25 · Личное сообщение · #26 |
|
Создано: 31 мая 2012 00:55 · Поправил: r_e · Личное сообщение · #27 OKOB Я уже прошел это. addon: Не доделаю. То ли они накосячили, то ли там хитрости какие-то. Итого в длл: Compare(Whirpool(Name+EsetPadding, 0x50), Reversed(Serial), 0x40) Затем перемешивается хеш и начинается мистика. На стеке сразу после хеша должна находиться магическая константа 0x45535320 и за ней два дворда. Кто их туда должен положить - из кода неясно. Финальная проверка Compare(Whirpool(MixedHash+PostMagic, 0x4c), ConstMagicHash, 0x0c) Даже если пропатчить проверку на PostMagic, должны выполняться условия 1. Найти 64-бита PostMagic помимо явной константы 2. Должна существовать коллизия, дающая ConstMagicHash Вобщем, крякмис интересный, но сил и интереса на него не осталось ----- старый пень |
|
Создано: 02 июня 2012 02:45 · Личное сообщение · #28 Победу одержал Скляров, впрочем, как и в прошлом году. Вот ещё, кому интересно, задание по реверсу с очных соревнований ctf. e677_02.06.2012_EXELAB.rU.tgz - keygen.exe |
|
Создано: 02 июня 2012 12:17 · Личное сообщение · #29 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 02 июня 2012 22:00 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Основной форум —› PHD2012-BestReverser |