|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|
Crackme: реверс-инжиниринг18.06.2026, 13:19. Показов 30048. Ответов 279
Метки нет (Все метки)
В архиве 10 exe-файлов - консольных приложений, каждое из которых запрашивает пароль. Цель в том, чтобы найти и ввести правильный пароль, после чего получить сообщение Password OK!
Приложения созданы не мной, а неким IOLI. Приложения 32-битные, что тоже упрощают работу. Приложения закрываются после выполнения, поэтому запускайте из cmd. Собственно, вы можете использовать любой удобный вам инструмент: IDA Pro, Ghidra, Cutter, x32dbg и т.д. Т.е. можно как статически анализировать, а можно запустить отладчик и анализировать динамически. Поскольку не будет вывода секретного сообщения при правильном вводе пароля и заранее известно, что выведется лишь Password OK!, то не вижу смысла в использовании всяких трюков, чтобы обойти проверку пароля всякими jmp и прочими инструкциями. Лучше тренироваться именно в поиске пароля, а не в его обходе. Топовые декомпиляторы в простых случаях сразу отображают пароль, поэтому в таких случаях, чтобы было интересно, предлагаю все равно попробовать самостоятельно найти пароль, анализировав дизассемблерный код. Что я имею в виду? Например, если открыть crackme0x03.exe в IDA Pro, то после декомпиляции мы сразу увидим пароль: Декомпилятор Ghidra тоже сразу показывает пароль (в hex): Чтобы было интересно, в таких простых случаях можно перейти в дизассемблерный вид и попытаться найти пароль самостоятельно: Например, вот как выглядит это окно в IDA Pro. Я там специально добавил комментарии к некоторым строкам и разъяснил, как вычисляется этот пароль (но есть одна опечатка в одном комменте 528 вместо 582). Для новичков в IDA Pro есть фича Auto Comments, которая включается в настройках. Но честно говоря, она мне не очень нравится. В Cutter автокомментирование инструкций работает, имхо, лучше. Поэтому новичкам будет проще в Cutter самостоятельно разбирать логику вычисления пароля. Как видно на скриншоте, Cutter может автоматически комментировать каждую строчку, что довольно удобно: Еще Cutter хорош тем, что на выбор там два декомпилятора, один из которых это декомпилятор от Ghidra (вполне неплохая альтернатива платного от Hex-Rays в IDA Pro). Собственно, этот же декомпилятор можно использовать и в самой Ghidra, но там нет автокомментирования. *** В crackme0x04.exe пароль сразу не виден после декомпиляции. Но и там нет ничего сложного, просто переходим в функцию check и сразу становится ясно, что на самом деле данное приложение принимает не один правильный пароль, а их может быть несколько. Т.е. любое число, где сумма цифр введенного числа равна 15. crackme0x05.exe очень похож на предыдущее задание, только нужно еще вспомнить, как определяют четность чисел с помощью побитового AND. *** Короче, если вам скучно и не знаете, чем заняться, то можете поиграться с этими файлами и ознакомиться с основами реверс-инжиниринга.
0
|
|
| 18.06.2026, 13:19 | |
|
Ответы с готовыми решениями:
279
Ошибка приложения в простом коде, реверс строки Функция и реверс строки |
|
640 / 404 / 68
Регистрация: 09.03.2016
Сообщений: 4,431
|
|
| 19.06.2026, 14:52 | |
|
0
|
|
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
||
| 19.06.2026, 14:56 | ||
|
0
|
||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
||
| 19.06.2026, 15:01 [ТС] | ||
|
Наталья8, это false positive.
https://www.virustotal.com/gui... ?nocache=1 кстати, защита винды находит Trojan:Win32/Wacatac.B!ml в любом хелловорлде, если его выложить в сеть и потом оттуда обратно скачать
0
|
||
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|
| 19.06.2026, 15:39 | |
|
0
|
|
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|||
| 19.06.2026, 17:21 [ТС] | |||
|
Добавлено через 26 минут Вместо прямого вызова MessageBoxW из user32.dll, программа искусственно генерирует исключение с помощью RaiseException. На винде через исключения возможны межмодульные вызовы. Обработчик исключения ловит это событие, и внутри его кода (который уже скомпилирован в секции .text самого приложения) происходит динамическая загрузка user32.dll через LoadLibraryExW и вызов MessageBoxW через GetProcAddress По этой причине в Imports не видно ни user32.dll, ни MessageBoxW. В Imports прям кишат функции для динамической загрузки либ. + SetUnhandledExceptionFilter и UnhandledExceptionFilter указывают, что скорее всего используется именно этот трюк. Ну а IsDebuggerPresent + наверняка еще VirtualProtect используются для антиотладочных проверок и подмены кода на лету. Я прав?
0
|
|||
|
640 / 404 / 68
Регистрация: 09.03.2016
Сообщений: 4,431
|
||
| 19.06.2026, 17:37 | ||
|
Там в восьми гб и чёрта прописать можно.
0
|
||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|
| 19.06.2026, 17:40 [ТС] | |
|
Наталья8, хз. Приложение запускал на виртуалке, но там не удобно работать. А на реальном девайсе делал только статический анализ, отладчик не запускал по соображениям безопасности.
К тому же, там его просто и не запустишь, в коде полно int 3 . Для x64dbg нужно спец. плагин ставить, который убирает антиотладочную защиту
0
|
|
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
||||
| 19.06.2026, 17:50 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|
| 19.06.2026, 17:56 [ТС] | |
|
Custos, приложение весит в разы больше, чем user.dll. Наталья8 правильно говорит, что там и чёрта прописать можно)
Имхо, разбирать такой файл не интересно. Тем более, хз какие там наработки используются. Возможно, там вообще использовалась профессиональная мощная либа для обфускации. Не похож это на тренировочный крякми, который весит несколько килобайт.
0
|
|
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|
| 19.06.2026, 18:23 | |
|
0
|
|
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|
| 19.06.2026, 18:33 [ТС] | |
|
0
|
|
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
||||||
| 19.06.2026, 18:43 [ТС] | ||||||
|
Custos, говоришь, что MessageBox не использовал, но, как по мне, это вылитый MessageBox из WinAPI. Кажется, ты врешь)
Сигнатура совпадает с функцией из WinAPI:
MB_OK | MB_ICONINFORMATION это как раз 0x00000000L | 0x00000040L = 0x40 (64)
0
|
||||||
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
||
| 19.06.2026, 18:46 | ||
|
Сторонние решения не используются, используется только собственная либка winapi_utils, в которой я собрал в кучу разный инструментарий под Windows приложения и использую в своих разных проектах
0
|
||
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|||
| 19.06.2026, 18:59 | |||
|
Добавлено через 10 минут
0
|
|||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|||
| 19.06.2026, 19:17 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
||
| 19.06.2026, 19:26 | ||
|
0
|
||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|||
| 19.06.2026, 19:27 [ТС] | |||
|
Добавлено через 44 секунды
0
|
|||
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
||
| 19.06.2026, 19:32 | ||
|
0
|
||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,183
|
|
| 19.06.2026, 20:12 [ТС] | |
|
Custos, IDA Pro 9.4 бета вышла. Xrefs Graph вроде улучшения получил. Подожду выхода стабильной версии. Я даже на 9.3 SP2 не обновлялся, жду сразу 9.4
0
|
|
|
Software Engineer
338 / 343 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|
| 19.06.2026, 20:44 | |
|
0
|
|
| 19.06.2026, 20:44 | |
|
Реверс слов в строке
Реверс элементов массива реверс строки Реверс масива по строках. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|