msym on 2026-02-24 03:30:
[Click to reveal]Password is secret123
Xendorium on 2026-02-24 20:17:
[Click to reveal]secret123
Xendorium on 2026-02-24 20:17:
[Click to reveal]secret123
Beta9541 on 2026-03-21 20:17:
[Click to reveal]secret123
Atsukoro on 2026-03-26 11:32:
[Click to reveal]Flag: secret123
Just accidentally found it toggling breakpoints on bcrypt symbols XD
DevVolodya on 2026-04-13 17:25:
[Click to reveal]1. Анализ защиты
При запуске программа запрашивает пароль. Первичный анализ в IDA Pro показал, что в коде присутствует мощная система привязки к железу (HWID). Программа считывает MachineGuid из реестра (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography) и использует библиотеку bcrypt.dll для работы с хешированием SHA256.
2. Поиск реального пароля
Я детально изучил функцию sub_1400105A0, которая отвечает за подготовку секретных данных. В ней я обнаружил три зашифрованных куска строк, которые расшифровываются с помощью операции XOR с ключом 90 (0x5A):
Кусок 1: ")?9" ^ 90 = sec
Кусок 2: "(?." ^ 90 = ret
Кусок 3: "khi" ^ 90 = 123
Сложив их вместе, я получил строку secret123.
Несмотря на наличие сложного кода, который смешивает эту строку с моим MachineGuid и вычисляет SHA256 хеш, глубокий анализ функции сравнения sub_140010660 показал, что автор оставил «логическую лазейку». Вся криптографическая надстройка служит лишь ширмой — программа принимает чистый расшифрованный секрет как валидный вход.
Верный пароль для входа: secret123
3. Процесс патчинга (Bypass)
Для полного обхода системы защиты я проанализировал основной блок функции main_0. Проверка пароля завершается вызовом функции sub_140005164, результат которой определяет, будет ли предоставлен доступ.
Код в IDA:
asm
call sub_140005164 ; Вызов проверки
movzx eax, al ; Сохранение результата
test eax, eax ; Проверка: 0 или 1?
jz short loc_14001086A ; Прыжок на "Access denied", если 0
Use code with caution.
Я выполнил патч, нейтрализовав условный переход:
Перешёл по адресу инструкции jz (0x140010868).
Заменил байты инструкции 74 06 на 90 90 (команды NOP).
После внесения изменений программа игнорирует введённый текст и всегда выводит сообщение "Access granted".
4. Заключение
В ходе исследования я установил, что использование HWID и SHA256 в данном CrackMe является «ложным следом» (Red Herring), предназначенным для отвлечения внимания реверсера. Я успешно нашёл оригинальный пароль путём статического анализа XOR-алгоритма и реализовал патч для полного обхода проверки.