Всем салют!
Сегодня мы с вами разберём крякми для начинающих, созданный под .NET. Он опубликован на crackmes.one.
Название: Rock
Автор: someontop
Ссылка:
Ссылка скрыта от гостей
Сложность: 1.1
Качество: 2.5
Язык/технология: .NET
Платформа: Windows
Архитектура: x86
Пароль к архиву с заданием:
crackmes.one
. В самом архиве нас ждёт один EXE-файл.
1. Быстрый статический анализ
Первым делом проводим анализ на VirusTotal.
Ссылка скрыта от гостей
. Всё гуд - антивирусы не такие известные + по остальным вкладкам тоже всё нормально. Но запускаем всегда в виртуальных машинах!Теперь отправим файл на анализ в Detect It Easy. Как и в прошлом райтапе смотрим в основном на компилятор и технологии, с помощью которых файл создан.
Приложение 32-битное, с графическим интерфейсом. Написано на C# с использованием .NET.
Смотрим, что по строкам.
Выглядит как что-то важное Но узнаем лучше в дизассемблере.
2. Запуск и анализ программы в DnSpy
Сначала просто запустим таск.Автор таска не обманул, действительно, Скала.
При неправильном вводе получаем ошибку. В прошлом райтапе приложение было написано на C. В этом используется C# и самое главное - .NET.
.NET — это платформа разработки от Microsoft, которая позволяет создавать приложения для различных сред, включая десктопы, веб, мобильные устройства и облако. Основной компонент .NET — это Common Language Runtime (CLR), который управляет выполнением программ и предоставляет такие услуги, как сборка мусора и безопасность.
В отличие от языка Си и других компилируемых языков, код для .NET собирается не в машинные инструкции, а в промежуточный код - IL-код (Intermediate Language). Этот код уже выполняется CLR. Сделано это для кроссплатформенности.
У этого есть и минус - IL-код намного проще привести к исходному на C#, выполнив декомпиляцию через специальные инструменты. Например, dnSpy. В релизах на гите можно найти версию для анализа 32-битных программ или 64-битных. Нам нужна версия для 32-битных программ. Устанавливать его не нужно, можно сразу запустить.
Переносим изучаемый EXE прямо в DnSpy или открываем через "Файл".
Теперь нам нужно будет перейти к форме с вводом ключа. Попробуем
Form1
.Бинго!
Нас интересует код, который будет выполняться при нажатии
button1_Click
. В этом методе проверяется, ввели ли мы что-то в таск. А если ввели, равно ли оно строке HTD4R-HF3H7-H2F5G-H9V5D-H9J3G-H5F6H-H7G4F
.Судя по всему, если мы введём эту строку в программу, то она выдаст сообщение об успехе. Проверим.
Успех! Это действительно нужный ключ!